Skip to content

Commit a3f5fee

Browse files
Make StreamDev stubs private to HTTPClient (#788)
1 parent a3f4d89 commit a3f5fee

File tree

1 file changed

+49
-46
lines changed

1 file changed

+49
-46
lines changed

libraries/HTTPClient/src/HTTPClient.cpp

Lines changed: 49 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,55 @@ const String HTTPClient::defaultUserAgent = defaultUserAgentPstr;
5252
// return 0; // never reached, keep gcc quiet
5353
//}
5454

55+
// Wrappers for ESP8266-specific Arduino API changes
56+
static size_t StreamSendSize(Stream *s, Print *c, int size) {
57+
int sent = 0;
58+
if (size < 0) {
59+
size = 999999; // Transfer until read fails
60+
}
61+
uint32_t start = millis();
62+
while ((sent < size) && (millis() - start < 5000)) {
63+
int x = s->read();
64+
if (x < 0) {
65+
break;
66+
} else if (c->write(x)) {
67+
sent++;
68+
} else {
69+
break;
70+
}
71+
}
72+
return sent;
73+
}
74+
75+
class StreamConstPtr {
76+
public:
77+
StreamConstPtr(const uint8_t *payload, size_t size) {
78+
_payload = payload;
79+
_size = size;
80+
}
81+
StreamConstPtr(const String& string) {
82+
_payload = (const uint8_t *)string.c_str();
83+
_size = string.length();
84+
}
85+
size_t sendAll(Client *dst) {
86+
uint32_t start = millis();
87+
size_t sent = 0;
88+
while ((sent < _size) && (millis() - start < 5000)) {
89+
size_t towrite = std::min((size_t)128, _size - sent);
90+
auto wrote = dst->write(_payload, towrite);
91+
if (wrote <= 0) {
92+
break;
93+
}
94+
sent += wrote;
95+
_payload += wrote;
96+
}
97+
return sent;
98+
}
99+
const uint8_t *_payload;
100+
size_t _size;
101+
};
102+
103+
55104
void HTTPClient::clear() {
56105
_returnCode = 0;
57106
_size = -1;
@@ -513,34 +562,6 @@ int HTTPClient::sendRequest(const char * type, const String& payload) {
513562
return sendRequest(type, (const uint8_t *) payload.c_str(), payload.length());
514563
}
515564

516-
class StreamConstPtr {
517-
public:
518-
StreamConstPtr(const uint8_t *payload, size_t size) {
519-
_payload = payload;
520-
_size = size;
521-
}
522-
StreamConstPtr(const String& string) {
523-
_payload = (const uint8_t *)string.c_str();
524-
_size = string.length();
525-
}
526-
size_t sendAll(Client *dst) {
527-
uint32_t start = millis();
528-
size_t sent = 0;
529-
while ((sent < _size) && (millis() - start < 5000)) {
530-
size_t towrite = std::min((size_t)128, _size - sent);
531-
auto wrote = dst->write(_payload, towrite);
532-
if (wrote <= 0) {
533-
break;
534-
}
535-
sent += wrote;
536-
_payload += wrote;
537-
}
538-
return sent;
539-
}
540-
const uint8_t *_payload;
541-
size_t _size;
542-
};
543-
544565
/**
545566
sendRequest
546567
@param type const char * "GET", "POST", ....
@@ -648,24 +669,6 @@ int HTTPClient::sendRequest(const char * type, const uint8_t * payload, size_t s
648669
return returnError(code);
649670
}
650671

651-
size_t StreamSendSize(Stream *s, Print *c, int size) {
652-
int sent = 0;
653-
if (size < 0) {
654-
size = 999999; // Transfer until read fails
655-
}
656-
uint32_t start = millis();
657-
while ((sent < size) && (millis() - start < 5000)) {
658-
int x = s->read();
659-
if (x < 0) {
660-
break;
661-
} else if (c->write(x)) {
662-
sent++;
663-
} else {
664-
break;
665-
}
666-
}
667-
return sent;
668-
}
669672
/**
670673
sendRequest
671674
@param type const char * "GET", "POST", ....

0 commit comments

Comments
 (0)