ArduinoHttpClient icon indicating copy to clipboard operation
ArduinoHttpClient copied to clipboard

Update state on connect

Open episource opened this issue 3 years ago • 2 comments

HttpClient implements inherited Client::connect(IPAddress ip, uint16_t port) and Client::connect(const char *host, uint16_t port). The existing implementation is to simple: it does not update internal state variables iServerName, iServerAddressand iServerPort, but just invokes the wrapped client. This causes subsequent requests to be incorrect (e.g. wrong host header).

This PR changes connect to also update state.

episource avatar Mar 19 '22 17:03 episource

Memory usage change @ 967f1bbfcc79e29fc95faa13927bcde7faf4391f

Board flash % RAM for global variables %
arduino:samd:mkr1000 :small_red_triangle: +24 - +32 +0.01 - +0.01 0 - 0 0.0 - 0.0
Click for full report table
Board examples/BasicAuthGet
flash
% examples/BasicAuthGet
RAM for global variables
% examples/CustomHeader
flash
% examples/CustomHeader
RAM for global variables
% examples/DweetGet
flash
% examples/DweetGet
RAM for global variables
% examples/DweetPost
flash
% examples/DweetPost
RAM for global variables
% examples/HueBlink
flash
% examples/HueBlink
RAM for global variables
% examples/PostWithHeaders
flash
% examples/PostWithHeaders
RAM for global variables
% examples/SimpleDelete
flash
% examples/SimpleDelete
RAM for global variables
% examples/SimpleGet
flash
% examples/SimpleGet
RAM for global variables
% examples/SimpleHttpExample
flash
% examples/SimpleHttpExample
RAM for global variables
% examples/SimplePost
flash
% examples/SimplePost
RAM for global variables
% examples/SimplePut
flash
% examples/SimplePut
RAM for global variables
% examples/SimpleWebSocket
flash
% examples/SimpleWebSocket
RAM for global variables
%
arduino:samd:mkr1000 32 0.01 0 0.0 32 0.01 0 0.0 24 0.01 0 0.0 24 0.01 0 0.0 32 0.01 0 0.0 32 0.01 0 0.0 24 0.01 0 0.0 32 0.01 0 0.0 32 0.01 0 0.0 32 0.01 0 0.0 32 0.01 0 0.0 32 0.01 0 0.0
Click for full report CSV
Board,examples/BasicAuthGet<br>flash,%,examples/BasicAuthGet<br>RAM for global variables,%,examples/CustomHeader<br>flash,%,examples/CustomHeader<br>RAM for global variables,%,examples/DweetGet<br>flash,%,examples/DweetGet<br>RAM for global variables,%,examples/DweetPost<br>flash,%,examples/DweetPost<br>RAM for global variables,%,examples/HueBlink<br>flash,%,examples/HueBlink<br>RAM for global variables,%,examples/PostWithHeaders<br>flash,%,examples/PostWithHeaders<br>RAM for global variables,%,examples/SimpleDelete<br>flash,%,examples/SimpleDelete<br>RAM for global variables,%,examples/SimpleGet<br>flash,%,examples/SimpleGet<br>RAM for global variables,%,examples/SimpleHttpExample<br>flash,%,examples/SimpleHttpExample<br>RAM for global variables,%,examples/SimplePost<br>flash,%,examples/SimplePost<br>RAM for global variables,%,examples/SimplePut<br>flash,%,examples/SimplePut<br>RAM for global variables,%,examples/SimpleWebSocket<br>flash,%,examples/SimpleWebSocket<br>RAM for global variables,%
arduino:samd:mkr1000,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,24,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0

github-actions[bot] avatar Mar 19 '22 17:03 github-actions[bot]

@per1234 any chance we can merge this pull request? it seems very useful, as the current implementation fails when making multiples request.

matiasba avatar May 11 '22 00:05 matiasba