Spec-Zone.ru › OpenJDK 17

Интерфейс 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-клиенте. Эти подписки завершаются нормально, когда тело запроса полностью отправлено, и могут быть отменены или прерваны преждевременно из-за ошибки. Если запрос необходимо повторно отправить по какой-либо причине, создаётся новая подписка, которая должна генерировать те же данные, что и прежде.

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

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

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

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

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

subscribe

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

contentLength

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

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

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

© 1993, 2021, 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/17/docs/api/java.net.http/java/net/http/HttpRequest.BodyPublisher.html

Spec-Zone.ru

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