BBoundaryWren
Сценарии

Сценарии работы с кодом · Консервативные конфликты границ MIME

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

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

Найдите консервативные конфликты границ среди до 64 частей по 65536 байтов с ASCII-маркером длиной 1–70 из букв, цифр, подчёркивания и дефиса. Проверьте префикс в начале и после CRLF, включая более длинные совпадения, и отклоняйте неверные маркеры без заявления о полном валидаторе MIME.

01

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

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

02

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

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

03

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

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

04

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

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

Консервативные конфликты границ MIME

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

def boundary_conflicts(boundary, parts):
    if type(boundary) is not bytes or re.fullmatch(rb"[A-Za-z0-9_-]{1,70}", boundary) is None:
        raise ValueError("mime.boundary")
    if type(parts) is not list or len(parts) > 64 or any(type(p) is not bytes or len(p) > 65536 for p in parts):
        raise ValueError("mime.parts")
    marker = b"--"+boundary
    return [i for i, part in enumerate(parts) if part.startswith(marker) or b"\r\n"+marker in part]

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

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

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

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