Skip to content

Commit 140d0ff

Browse files
authored
Add writeToPrint to ESP8266HTTPClient (#8056)
1 parent d3f16b3 commit 140d0ff

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp

+13-3
Original file line numberDiff line numberDiff line change
@@ -627,8 +627,18 @@ WiFiClient* HTTPClient::getStreamPtr(void)
627627
*/
628628
int HTTPClient::writeToStream(Stream * stream)
629629
{
630+
return writeToPrint(stream);
631+
}
630632

631-
if(!stream) {
633+
/**
634+
* write all message body / payload to Print
635+
* @param print Print *
636+
* @return bytes written ( negative values are error codes )
637+
*/
638+
int HTTPClient::writeToPrint(Print * print)
639+
{
640+
641+
if(!print) {
632642
return returnError(HTTPC_ERROR_NO_STREAM);
633643
}
634644

@@ -645,7 +655,7 @@ int HTTPClient::writeToStream(Stream * stream)
645655
if(_transferEncoding == HTTPC_TE_IDENTITY) {
646656
// len < 0: transfer all of it, with timeout
647657
// len >= 0: max:len, with timeout
648-
ret = _client->sendSize(stream, len);
658+
ret = _client->sendSize(print, len);
649659

650660
// do we have an error?
651661
if(_client->getLastSendReport() != Stream::Report::Success) {
@@ -673,7 +683,7 @@ int HTTPClient::writeToStream(Stream * stream)
673683
// data left?
674684
if(len > 0) {
675685
// read len bytes with timeout
676-
int r = _client->sendSize(stream, len);
686+
int r = _client->sendSize(print, len);
677687
if (_client->getLastSendReport() != Stream::Report::Success)
678688
// not all data transferred
679689
return returnError(StreamReportToHttpClientReport(_client->getLastSendReport()));

libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h

+1
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ class HTTPClient
215215

216216
WiFiClient& getStream(void);
217217
WiFiClient* getStreamPtr(void);
218+
int writeToPrint(Print* print);
218219
int writeToStream(Stream* stream);
219220
const String& getString(void);
220221
static String errorToString(int error);

0 commit comments

Comments
 (0)