CChunkRavel
سير العمل

سير العمل البرمجي · فك جسم chunked ضمن حدود

03
المنتج

سير العمل

فك جسم chunked مقيدًا من 65536 بايت كحد أقصى بحد خرج قدره 4096 بايت. اختبر CRLF الداخلية والقطعة الصفرية وارفض البتر والامتدادات والحقول الختامية والبايتات الزائدة.

01

نزّل التطبيق

اختر مجلدًا واطلب من المساعد قراءة الملفات المعنية قبل تعديلها. حدّد الهدف وحدود المهمة في المحادثة.

02

افتح مجلد المشروع

اختر نقطة اتصال متوافقة. تعتمد الأدوات المتاحة وجودة الإجابات على النموذج والخادم المستخدمين.

03

اربط النموذج واختبره

راجع التغييرات ونتائج الأوامر. شغّل فحوص المشروع قبل اعتماد النتيجة؛ الشيفرة المُولّدة ليست مختبرة تلقائيًا.

04

راجع التغييرات وشغّل الاختبارات

قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.

فك جسم chunked ضمن حدود

سير العمل
def chunk_body(wire):
    if type(wire) is not bytes or len(wire) > 65536:
        raise ValueError("bounded bytes")
    pos, body = 0, bytearray()
    while True:
        end = wire.find(b"\r\n", pos)
        token = wire[pos:end] if end >= 0 else b""
        if not 1 <= len(token) <= 8 or any(
            c not in b"0123456789abcdefABCDEF" for c in token):
            raise ValueError("plain hexadecimal size")
        size, pos = int(token, 16), end + 2
        if size == 0:
            if wire[pos:] != b"\r\n":
                raise ValueError("no trailers or extra bytes")
            return bytes(body)
        if len(body) + size > 4096:
            raise ValueError("body limit")
        if pos + size + 2 > len(wire):
            raise ValueError("truncated chunk")
        if wire[pos + size:pos + size + 2] != b"\r\n":
            raise ValueError("chunk delimiter")
        body.extend(wire[pos:pos + size])
        pos += size + 2

راجع قبل التطبيق. راجع التغييرات ونتائج الأوامر. شغّل فحوص المشروع قبل اعتماد النتيجة؛ الشيفرة المُولّدة ليست مختبرة تلقائيًا.

مساحة عمل برمجية بالذكاء الاصطناعي

تبدأ فكرتك التالية هنا.

تنزيل لنظام Windows ↗