Unduh aplikasi
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Tentukan satu rentang byte HTTP ASCII untuk sumber berukuran nol sampai 10^12 byte dengan header paling panjang 80 karakter. Uji ujung terbuka dan akhiran, batasi ujung dan kembalikan tanpa interval bila tak terpenuhi, serta tolak sintaks salah atau beberapa rentang.
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Pilih endpoint yang kompatibel. Alat yang tersedia dan kualitas jawaban bergantung pada model serta server yang digunakan.
Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
import re
def byte_range(header, size):
if type(header) is not str or len(header) > 80 or type(size) is not int or not 0 <= size <= 10**12:
raise ValueError("range.input")
match = re.fullmatch(r"bytes=([0-9]*)-([0-9]*)", header)
if match is None or not any(match.groups()):
raise ValueError("range.syntax")
left, right = match.groups()
if not left:
suffix = int(right)
if suffix == 0 or size == 0:
return None
return max(0, size-suffix), size-1
start = int(left)
end = int(right) if right else size-1
if start >= size or end < start:
return None
return start, min(end, size-1)
Tinjau sebelum menerapkan. Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.