--- title: Отправить готовые байты description: Передайте буферизованное тело без JSON, form или multipart-кодирования. sources: - eazy_sdk.request.BytesBody api_fingerprint: "sha256:435570d4e766c05a3a7098d3afed40f5ab6dd855e4df4774a184148f34579bae" --- Используйте `BytesBody`, когда приложение уже создало окончательные байты. SDK не применяет к ним JSON, form или multipart-кодирование. :::::{grid} 1 1 2 2 :class-container: http-exchange :gutter: 2 ::::{grid-item} :class: http-panel http-panel--request **→ Request** · ``PUT /objects/report.bin`` ```text Content-Type: application/octet-stream mail ``` :::: ::::{grid-item} :class: http-panel http-panel--response **← Response** · ``201 Created`` ```json {"stored": true, "bytes": 4} ``` :::: ::::: ```{literalinclude} ../../../../../../examples/docs/request_bytes.py :language: python :start-after: "# docs:example:start" :end-before: "# docs:example:end" ``` `payload` передаёт четыре байта без преобразования. `content_type` задаёт заголовок тела. Для gzip или deflate укажите `content_encoding`: сжатие завершится до вычисления подписи. :::{dropdown} Файл примера целиком ```{literalinclude} ../../../../../../examples/docs/request_bytes.py :language: python ``` ::: Запуск: `uv run python examples/docs/request_bytes.py`. ```text stored: True; bytes: 4 ``` Для потока, который можно отправить повторно, используйте `ReplayableStreamBody`. Обычный одноразовый поток нельзя безопасно повторить после ошибки транспорта. ## Дальше - {doc}`Настройте подпись запроса `. - {doc}`Настройте повторные попытки `.