Spec-Zone.ru › OpenJDK 21

Интерфейс HttpRequest.BodyPublisher

Все суперинтерфейсы:
Flow.Publisher<ByteBuffer>
Вложенный класс:
HttpRequest
public static interface HttpRequest.BodyPublisher extends Flow.Publisher<ByteBuffer>
A BodyPublisher преобразует высокоуровневые объекты Java в поток буферов байтов, пригодных для отправки в качестве тела запроса. Класс BodyPublishers предоставляет реализации многих распространённых издателей.

Интерфейс BodyPublisher расширяет Flow.Publisher<ByteBuffer>, что означает, что BodyPublisher действует как издатель буферов байтов.

При отправке запроса, содержащего тело, HTTP-клиент подписывается на BodyPublisher запроса, чтобы получить поток исходящих данных тела запроса. Стандартная семантика Flow.Subscriber и Flow.Publisher реализуется HTTP-клиентом и ожидается от BodyPublisher реализаций. Каждый исходящий запрос приводит к тому, что один HTTP-клиент Subscriber подписывается на BodyPublisher для обеспечения последовательности буферов байтов, содержащих тело запроса. Экземпляры ByteBuffer которые публикует издатель, должны быть выделены издателем и не должны быть доступны после публикации в HTTP-клиенте. Эти подписки завершаются нормально, когда тело запроса полностью отправлено, и могут быть отменены или завершены досрочно из-за ошибки. Если по какой-либо причине запрос необходимо повторно отправить, создаётся новая подписка, которая должна генерировать те же данные, что и раньше.

BodyPublisher которая сообщает о длине содержимого 0 может не быть подписана HTTP-клиентом, так как у неё фактически нет данных для публикации.

Since:
11
См. также:
  • HttpRequest.BodyPublishers

Краткое описание методов

Модификатор и тип Метод Описание
long contentLength()
Возвращает длину содержимого для данного тела запроса.

Методы, объявленные в интерфейсе java.util.concurrent.Flow.Publisher

subscribe

Подробное описание методов

contentLength

long contentLength()
Возвращает длину содержимого для данного тела запроса. Может быть равна нулю, если тело запроса не отправляется, больше нуля для содержимого фиксированной длины или меньше нуля для неизвестной длины содержимого.

Этот метод может быть вызван до того, как издатель будет подписан. Этот метод может быть вызван реализацией HTTP-клиента более одного раза и ДОЛЖЕН возвращать одно и то же постоянное значение каждый раз.

Возвращает:
длину содержимого для данного тела запроса, если она известна

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.net.http/java/net/http/HttpRequest.BodyPublisher.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API