@@ -20,77 +20,6 @@ const char* kFirebaseFingerprint = "7A 54 06 9B DC 7A 25 B3 86 8D 66 53 48 2C 0B
2020const uint16_t kFirebasePort =443 ;
2121}// namespace
2222
23- FirebaseResult::FirebaseResult (int status) : status_(status) {
24- }
25-
26- bool FirebaseResult::isOk ()const {
27- return status_ == HTTP_CODE_OK;
28- }
29-
30- bool FirebaseResult::isError ()const {
31- return status_ <0 ;
32- }
33-
34- StringFirebaseResult::errorMessage ()const {
35- return HTTPClient::errorToString (status_);
36- }
37-
38- FirebaseResultWithMessage::FirebaseResultWithMessage (const FirebaseResult& result,
39- const String& message)
40- : FirebaseResultWithMessage(result.httpStatus(), message) {
41- }
42-
43- FirebaseResultWithMessage::FirebaseResultWithMessage (int status,
44- const String& message)
45- : FirebaseResult(status) {
46- message_ = message;
47- }
48-
49- const String&FirebaseResultWithMessage::message ()const {
50- return message_;
51- }
52-
53- FirebaseConnection::FirebaseConnection (const String& host) : host_(host) {
54- http_.setReuse (true );
55- }
56-
57- FirebaseConnection&FirebaseConnection::auth (const String& auth) {
58- auth_ = auth;
59- return *this ;
60- }
61-
62- FirebaseResultFirebaseConnection::sendRequest (const char * method,const String& path) {
63- return sendRequest (method, path," " );
64- }
65-
66- FirebaseResultFirebaseConnection::sendRequest (const char * method,const String& path,const String& value) {
67- const String url =makeURL (path);
68- http_.begin (host_.c_str (),kFirebasePort , url.c_str (),true ,kFirebaseFingerprint );
69- int statusCode = http_.sendRequest (method, (uint8_t *)value.c_str (), value.length ());
70- return FirebaseResult (statusCode);
71- }
72-
73- FirebaseResultWithMessageFirebaseConnection::sendRequestGetBody (const char * method,const String& path) {
74- return sendRequestGetBody (method, path," " );
75- }
76-
77- FirebaseResultWithMessageFirebaseConnection::sendRequestGetBody (const char * method,const String& path,const String& value) {
78- FirebaseResult result =sendRequest (method, path, value);
79- return FirebaseResultWithMessage (result, http_.getString ());
80- }
81-
82- StringFirebaseConnection::makeURL (const String& path) {
83- String url;
84- if (path[0 ] !=' /' ) {
85- url =" /" ;
86- }
87- url += path +" .json" ;
88- if (auth_.length () >0 ) {
89- url +=" ?auth=" + auth_;
90- }
91- return url;
92- }
93-
9423Firebase::Firebase (const String& host) : connection_(host) {
9524}
9625
@@ -99,18 +28,20 @@ Firebase& Firebase::auth(const String& auth) {
9928return *this ;
10029}
10130
102- FirebaseResultWithMessage Firebase::get (const String& path) {
31+ FirebaseResult Firebase::get (const String& path) {
10332return connection_.sendRequestGetBody (" GET" , path);
10433}
10534
106- FirebaseResultWithMessage Firebase::push (const String& path,const String& value) {
35+ FirebaseResult Firebase::push (const String& path,const String& value) {
10736return connection_.sendRequestGetBody (" POST" , path, value);
10837}
10938
11039FirebaseResultFirebase::remove (const String& path) {
11140return connection_.sendRequest (" DELETE" , path);
11241}
11342
43+ /* FirebaseEventStream*/
44+
11445FirebaseEventStream::FirebaseEventStream (const String& host) : connection_(host) {
11546}
11647
@@ -166,3 +97,76 @@ FirebaseEventStream::Event FirebaseEventStream::read(String& event) {
16697 client->readStringUntil (' \n ' );// consume separator
16798return type;
16899}
100+
101+ /* FirebaseConnection*/
102+
103+ FirebaseConnection::FirebaseConnection (const String& host) : host_(host) {
104+ http_.setReuse (true );
105+ }
106+
107+ FirebaseConnection&FirebaseConnection::auth (const String& auth) {
108+ auth_ = auth;
109+ return *this ;
110+ }
111+
112+ FirebaseResultFirebaseConnection::sendRequest (const char * method,const String& path) {
113+ return sendRequest (method, path," " );
114+ }
115+
116+ FirebaseResultFirebaseConnection::sendRequest (const char * method,const String& path,const String& value) {
117+ const String url =makeURL (path);
118+ http_.begin (host_.c_str (),kFirebasePort , url.c_str (),true ,kFirebaseFingerprint );
119+ int statusCode = http_.sendRequest (method, (uint8_t *)value.c_str (), value.length ());
120+ return FirebaseResult (statusCode);
121+ }
122+
123+ FirebaseResultFirebaseConnection::sendRequestGetBody (const char * method,const String& path) {
124+ return sendRequestGetBody (method, path," " );
125+ }
126+
127+ FirebaseResultFirebaseConnection::sendRequestGetBody (const char * method,const String& path,const String& value) {
128+ FirebaseResult result =sendRequest (method, path, value);
129+ return FirebaseResult (result.httpStatus (), http_.getString ());
130+ }
131+
132+ StringFirebaseConnection::makeURL (const String& path) {
133+ String url;
134+ if (path[0 ] !=' /' ) {
135+ url =" /" ;
136+ }
137+ url += path +" .json" ;
138+ if (auth_.length () >0 ) {
139+ url +=" ?auth=" + auth_;
140+ }
141+ return url;
142+ }
143+
144+ /* FirebaseResult*/
145+
146+ FirebaseResult::FirebaseResult (int status) : status_(status) {
147+ }
148+
149+ FirebaseResult::FirebaseResult (int status,const String& response)
150+ : status_(status), response_(response) {
151+ }
152+
153+ FirebaseResult::FirebaseResult (const FirebaseResult& other) {
154+ status_ = other.status_ ;
155+ response_ = other.response_ ;
156+ }
157+
158+ bool FirebaseResult::isOk ()const {
159+ return status_ == HTTP_CODE_OK;
160+ }
161+
162+ bool FirebaseResult::isError ()const {
163+ return status_ <0 ;
164+ }
165+
166+ StringFirebaseResult::errorMessage ()const {
167+ return HTTPClient::errorToString (status_);
168+ }
169+
170+ const String&FirebaseResult::response ()const {
171+ return response_;
172+ }