RRangeTallow
AI-werkruimte voor code

Enkele HTTP-bytebereiken

Bepaal één ASCII-HTTP-bytebereik voor een bron van nul tot 10^12 bytes met maximaal 80 headertekens.

● ● ●RangeTallow●
Werkprocessen · Enkele HTTP-bytebereiken ×
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)
✳Enkele HTTP-bytebereiken
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
  1. Controleer vóór het toepassen

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

  2. Modellen

    Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

  3. Project

    Test open einden en suffixen, begrens het einde en geef geen interval bij onmogelijke verzoeken, en weiger onjuiste of meervoudige bereiken.

Werkprocessen

Enkele HTTP-bytebereiken

Werkprocessen ↗
Werkprocessen
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)
AI-werkruimte voor code

Laat een hulpfunctierefactor trouw blijven aan het geïnterpreteerde verzoek

RangeTallow is AI-programmeersoftware voor het beoordelen van wijzigingen in hulpfuncties binnen de context van de toepassing die ervan afhangt. Open het project op Windows en beschrijf welk gedrag tijdens de refactor stabiel moet blijven. Vraag het model invoerparsing, teruggegeven waarden en de relevante aanroeper samen te bekijken. Zo verandert een kortere implementatie niet stilzwijgend de betekenis van een verzoek.

Je kunt byte_range.py gebruiken om te bespreken hoe een suffixbereik tegen een bekende bestandsgrootte wordt opgelost. Geef expliciete voorbeelden voor een normaal bereik, een lege bron en een verzoek buiten de beschikbare inhoud. Bekijk wat de hulpfunctie teruggeeft voordat je beslist hoe de antwoordafhandeling dat moet gebruiken. Behandel bereikinterpretatie en antwoordopbouw als samenhangende verantwoordelijkheden met een grens die je kunt uitleggen.

Test de voorgestelde bewerking in je projectomgeving, inclusief gevallen die ongeldige invoer onderscheiden van een niet-leverbaar bereik. Bekijk de antwoordcode die het resultaat gebruikt, zodat een nieuwe terugkeerconventie geen misleidende uitvoer veroorzaakt. RangeTallow ondersteunt OpenAI-compatibele of Anthropic-verbindingen, met inloggegevens indien vereist. Modellen zonder beperkingen zijn te kiezen wanneer je endpoint ze aanbiedt; contextlimieten, tools en beperkingen blijven afhankelijk van model en server. De geaccepteerde verzoekvoorbeelden geven het refactorgesprek een concrete succesmaatstaf.

Wijzigingen in bereikverwerking beoordelen

Waarom ongeldige en niet-leverbare invoer onderscheiden?

Ze beschrijven verschillende situaties: een verzoek kan niet aan de geaccepteerde syntaxis voldoen of inhoud vragen die bij de bekende grootte niet beschikbaar is. Leg vast hoe je hulpfunctie elk geval weergeeft en bekijk hoe de antwoordafhandeling dat onderscheid gebruikt.

Is een geparseerd bereik genoeg om een correct antwoord te bouwen?

Nee. De aanroeper moet het antwoord nog steeds volgens zijn eigen contract en de werkelijke bron opbouwen. Bekijk hoe de teruggegeven grenzen worden gebruikt, inclusief selectie van de antwoordinhoud en statusgedrag, in plaats van geslaagd parsen als voltooide integratie te behandelen.

Wat moet een suffixvoorbeeld vastleggen?

Geef de gevraagde suffixlengte, de bekende brongrootte en de verwachte inclusieve grenzen of weigering. Neem een lege bron mee, zodat de implementatie er niet op kan vertrouwen dat er altijd een laatste byte te selecteren is.

Hoe houd ik de refactor gericht?

Schrijf de huidige geaccepteerde gevallen en de eventuele beoogde wijziging op. Vraag een voorstel dat ander gedrag behoudt, bekijk de diff en voer die gevallen door zowel de hulpfunctie als haar aanroeper uit.

Download voor Windows ↗

RangeTallow · Bijgewerkt 2026-10-25