CChunkRavel
Werkprocessen

Werkprocessen voor code · Beperkte decodering van chunked-berichten

03
Product

Werkprocessen

Decodeer een beperkt chunked-bericht van hoogstens 65536 bytes met maximaal 4096 uitvoerbytes. Test interne CRLF en de nulchunk en wijs afgebroken gegevens, uitbreidingen, trailers en extra bytes af.

01

Download de toepassing

Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.

02

Open de projectmap

Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.

03

Verbind en test het model

Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

04

Controleer wijzigingen en voer tests uit

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Beperkte decodering van chunked-berichten

Werkprocessen
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

Controleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗