RRangeTallow
Ambiente de programação com IA

Intervalos HTTP únicos de bytes

Resolva um intervalo ASCII de bytes HTTP para um recurso de zero a 10^12 bytes com cabeçalho de até 80 caracteres.

● ● ●RangeTallow●
Fluxos de trabalho · Intervalos HTTP únicos de bytes ×
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)
✳Intervalos HTTP únicos de bytes
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
  1. Revise antes de aplicar

    Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

  2. Modelos

    Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

  3. Projeto

    Teste finais abertos e sufixos, limite o final e retorne ausência de intervalo quando impossível, rejeitando sintaxe inválida ou múltiplos intervalos.

Fluxos de trabalho

Intervalos HTTP únicos de bytes

Fluxos de trabalho ↗
Fluxos de trabalho
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)
Ambiente de programação com IA

Mantenha a refatoração do utilitário fiel à solicitação interpretada

RangeTallow é um software de programação com IA para revisar alterações em utilitários no contexto da aplicação que depende deles. Abra o projeto no Windows e descreva qual comportamento deve permanecer estável durante a refatoração. Peça ao modelo para examinar conjuntamente a análise da entrada, os valores retornados e o chamador relevante. Isso evita que uma implementação mais curta altere silenciosamente o significado de uma solicitação.

Você pode usar byte_range.py para discutir como um intervalo de sufixo é resolvido em relação a um tamanho de arquivo conhecido. Traga exemplos explícitos de um intervalo normal, um recurso vazio e uma solicitação fora do conteúdo disponível. Revise o retorno da função auxiliar antes de decidir como o manipulador de resposta deve usá-lo. Trate a interpretação do intervalo e a construção da resposta como responsabilidades relacionadas, com um limite que você possa explicar.

Teste a edição proposta no ambiente do projeto, incluindo casos que distingam entrada malformada de intervalo impossível de atender. Examine o código de resposta que consome o resultado para que uma nova convenção de retorno não produza saída enganosa. RangeTallow aceita conexões compatíveis com OpenAI ou Anthropic, com credenciais conforme necessário. Modelos sem restrições podem ser escolhidos quando seu endpoint os oferece; limites de contexto, ferramentas e restrições continuam dependendo do modelo e do servidor. Os exemplos de solicitações aceitas dão à conversa de refatoração uma medida concreta de sucesso.

Revisão de alterações no tratamento de intervalos

Por que distinguir entrada malformada de intervalo impossível de atender?

São condições diferentes: uma solicitação pode não corresponder à sintaxe aceita ou pedir conteúdo indisponível para o tamanho conhecido. Especifique como a função auxiliar representa cada caso e examine como o manipulador de resposta usa essa distinção.

Um intervalo analisado basta para construir uma resposta correta?

Não. O chamador ainda precisa construir a resposta conforme seu contrato e o recurso real. Revise como usa os limites retornados, incluindo seleção do corpo e comportamento do status, em vez de tratar uma análise bem-sucedida como integração concluída.

O que um exemplo de sufixo deve especificar?

Forneça o comprimento do sufixo solicitado, o tamanho conhecido do recurso e os limites inclusivos esperados ou o resultado de rejeição. Inclua um recurso vazio para que a implementação não dependa da existência de um último byte a selecionar.

Como manter o foco da refatoração?

Registre os casos aceitos atualmente e a alteração pretendida, se houver. Peça uma proposta que preserve os demais comportamentos, examine as diferenças e execute esses casos pela função auxiliar e por seu chamador.

Baixar para Windows ↗

RangeTallow · Atualizado 2026-10-25