@@ -123,7 +123,7 @@ HTTPClient::HTTPClient()
123
123
HTTPClient::~HTTPClient ()
124
124
{
125
125
if (_client) {
126
- DEBUG_HTTPCLIENT ( " [HTTP-Client][~HTTPClient] end() not called before destruction of HTTPClient \n " );
126
+ _client-> stop ( );
127
127
}
128
128
if (_currentHeaders) {
129
129
delete[] _currentHeaders;
@@ -147,7 +147,13 @@ void HTTPClient::clear()
147
147
* @return success bool
148
148
*/
149
149
bool HTTPClient::begin (WiFiClient &client, String url) {
150
- end ();
150
+ #ifdef HTTPCLIENT_1_1_COMPATIBLE
151
+ if (_tcpDeprecated) {
152
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
153
+ _canReuse = false ;
154
+ end ();
155
+ }
156
+ #endif
151
157
152
158
_client = &client;
153
159
@@ -180,7 +186,13 @@ bool HTTPClient::begin(WiFiClient &client, String url) {
180
186
*/
181
187
bool HTTPClient::begin (WiFiClient &client, String host, uint16_t port, String uri, bool https)
182
188
{
183
- end ();
189
+ #ifdef HTTPCLIENT_1_1_COMPATIBLE
190
+ if (_tcpDeprecated) {
191
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
192
+ _canReuse = false ;
193
+ end ();
194
+ }
195
+ #endif
184
196
185
197
_client = &client;
186
198
@@ -196,8 +208,11 @@ bool HTTPClient::begin(WiFiClient &client, String host, uint16_t port, String ur
196
208
#ifdef HTTPCLIENT_1_1_COMPATIBLE
197
209
bool HTTPClient::begin (String url, String httpsFingerprint)
198
210
{
199
- _canReuse = false ;
200
- end ();
211
+ if (_client && !_tcpDeprecated) {
212
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
213
+ _canReuse = false ;
214
+ end ();
215
+ }
201
216
202
217
_port = 443 ;
203
218
if (httpsFingerprint.length () == 0 ) {
@@ -214,8 +229,11 @@ bool HTTPClient::begin(String url, String httpsFingerprint)
214
229
215
230
bool HTTPClient::begin (String url, const uint8_t httpsFingerprint[20 ])
216
231
{
217
- _canReuse = false ;
218
- end ();
232
+ if (_client && !_tcpDeprecated) {
233
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
234
+ _canReuse = false ;
235
+ end ();
236
+ }
219
237
220
238
_port = 443 ;
221
239
if (!beginInternal (url, " https" )) {
@@ -237,8 +255,11 @@ bool HTTPClient::begin(String url, const uint8_t httpsFingerprint[20])
237
255
*/
238
256
bool HTTPClient::begin (String url)
239
257
{
240
- _canReuse = false ;
241
- end ();
258
+ if (_client && !_tcpDeprecated) {
259
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
260
+ _canReuse = false ;
261
+ end ();
262
+ }
242
263
243
264
_port = 80 ;
244
265
if (!beginInternal (url, " http" )) {
@@ -299,8 +320,11 @@ bool HTTPClient::beginInternal(String url, const char* expectedProtocol)
299
320
#ifdef HTTPCLIENT_1_1_COMPATIBLE
300
321
bool HTTPClient::begin (String host, uint16_t port, String uri)
301
322
{
302
- _canReuse = false ;
303
- end ();
323
+ if (_client && !_tcpDeprecated) {
324
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
325
+ _canReuse = false ;
326
+ end ();
327
+ }
304
328
305
329
clear ();
306
330
_host = host;
@@ -325,8 +349,11 @@ bool HTTPClient::begin(String host, uint16_t port, String uri, bool https, Strin
325
349
326
350
bool HTTPClient::begin (String host, uint16_t port, String uri, String httpsFingerprint)
327
351
{
328
- _canReuse = false ;
329
- end ();
352
+ if (_client && !_tcpDeprecated) {
353
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
354
+ _canReuse = false ;
355
+ end ();
356
+ }
330
357
331
358
clear ();
332
359
_host = host;
@@ -343,8 +370,11 @@ bool HTTPClient::begin(String host, uint16_t port, String uri, String httpsFinge
343
370
344
371
bool HTTPClient::begin (String host, uint16_t port, String uri, const uint8_t httpsFingerprint[20 ])
345
372
{
346
- _canReuse = false ;
347
- end ();
373
+ if (_client && !_tcpDeprecated) {
374
+ DEBUG_HTTPCLIENT (" [HTTP-Client][begin] mix up of new and deprecated api\n " );
375
+ _canReuse = false ;
376
+ end ();
377
+ }
348
378
349
379
clear ();
350
380
_host = host;
@@ -367,7 +397,6 @@ bool HTTPClient::begin(String host, uint16_t port, String uri, const uint8_t htt
367
397
*/
368
398
void HTTPClient::end (void )
369
399
{
370
- _canReuse = false ;
371
400
disconnect ();
372
401
clear ();
373
402
}
@@ -379,15 +408,13 @@ void HTTPClient::end(void)
379
408
void HTTPClient::disconnect ()
380
409
{
381
410
if (connected ()) {
382
- if (_client) {
383
- if (_client->available () > 0 ) {
384
- DEBUG_HTTPCLIENT (" [HTTP-Client][end] still data in buffer (%d), clean up.\n " , _client->available ());
385
- while (_client->available () > 0 ) {
386
- _client->read ();
387
- }
411
+ if (_client->available () > 0 ) {
412
+ DEBUG_HTTPCLIENT (" [HTTP-Client][end] still data in buffer (%d), clean up.\n " , _client->available ());
413
+ while (_client->available () > 0 ) {
414
+ _client->read ();
388
415
}
389
-
390
416
}
417
+
391
418
if (_reuse && _canReuse) {
392
419
DEBUG_HTTPCLIENT (" [HTTP-Client][end] tcp keep open for reuse\n " );
393
420
} else {
0 commit comments