LLeniora
Сценарии

Сценарии работы с кодом · Согласование значений Content-Length

03
Вокруг ваших задач

Конкретная отправная точка

Сведите 1–16 строк Content-Length до 128 символов к одному согласованному значению от нуля до 2147483647. Проверьте списки через запятую, начальные нули, пробелы и табуляцию, отклоняя пустые элементы, знаки, переводы строк и расхождения без обещания полной проверки границ HTTP.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Согласование значений Content-Length

Конкретная отправная точка
import re

def agreed_content_length(fields):
    if type(fields) is not list or not 1 <= len(fields) <= 16:
        raise ValueError("length.fields")
    result = None
    for field in fields:
        if type(field) is not str or len(field) > 128:
            raise ValueError("length.field")
        for item in field.split(","):
            token = item.strip(" \t")
            if re.fullmatch(r"[0-9]+", token) is None:
                raise ValueError("length.digits")
            value = int(token)
            if value > 2147483647 or (result is not None and value != result):
                raise ValueError("length.agreement")
            result = value
    return result

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗