File tree Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Original file line number Diff line number Diff line change 15
15
#define USE_ESP_ARDUINO_CORE_2_0_0
16
16
#endif
17
17
18
+ // Firebase now returns `Connection: close` after REST streaming redirection.
19
+ //
20
+ // Override the built-in ESP8266HTTPClient to *not* close the
21
+ // connection if forceReuse it set to `true`.
22
+ class ForceReuseHTTPClient : public HTTPClient {
23
+ public:
24
+ void end () {
25
+ if (_forceReuse) {
26
+ _canReuse = true ;
27
+ }
28
+ HTTPClient::end ();
29
+ }
30
+ void forceReuse (bool forceReuse) {
31
+ _forceReuse = forceReuse;
32
+ }
33
+ protected:
34
+ bool _forceReuse = false ;
35
+ };
36
+
18
37
class FirebaseHttpClientEsp8266 : public FirebaseHttpClient {
19
38
public:
20
39
FirebaseHttpClientEsp8266 () {}
21
40
22
41
void setReuseConnection (bool reuse) override {
23
42
http_.setReuse (reuse);
43
+ http_.forceReuse (reuse);
24
44
}
25
45
26
46
void begin (const std::string& url) override {
@@ -64,7 +84,7 @@ class FirebaseHttpClientEsp8266 : public FirebaseHttpClient {
64
84
}
65
85
66
86
private:
67
- HTTPClient http_;
87
+ ForceReuseHTTPClient http_;
68
88
};
69
89
70
90
FirebaseHttpClient* FirebaseHttpClient::create () {
You can’t perform that action at this time.
0 commit comments