Мне нужно использовать Spring
реактивный WebClient
без режима по умолчанию chunked encoding
, который "применяется" базовым стеком HttpClient
и Netty
. К сожалению, сервер, с которым мне нужно связаться, не поддерживает этот режим, даже если он поддерживает остальные спецификации HTTP 1.1.
Я знаю, что есть возможность установить заголовок Content-Length
вручную, но для этого требуется работать с некоторой DataBuffer
подобной структурой, и я хотел бы использовать как можно большую часть предоставляемой поддержки (BodyInserters, поддержка Multipart et c ...). После некоторых копаний я обнаружил, что нечто подобное используется на уровне HttpClientConfiguration
для запросов GET
и HEAD
, которые буферизуются заранее. Я хотел бы реализовать нечто подобное, но я не уверен, на каком уровне (если это вообще возможно) лучше всего это сделать. В идеале я хотел бы реализовать некоторое промежуточное программное обеспечение, которое будет только буферизовать входящие данные тела до завершения восходящего потока, а затем установить Content-Length
для нисходящего потока. Я не беспокоюсь об использовании памяти.