Skip to content

Commit d805dc6

Browse files
committed
removed FirebaseResultWithMessage consolidated into one for simplicity
1 parent 0a613cd commit d805dc6

File tree

2 files changed

+86
-90
lines changed

2 files changed

+86
-90
lines changed

Firebase.cpp

Lines changed: 77 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -20,77 +20,6 @@ const char* kFirebaseFingerprint = "7A 54 06 9B DC 7A 25 B3 86 8D 66 53 48 2C 0B
2020
const 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-
String FirebaseResult::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-
FirebaseResult FirebaseConnection::sendRequest(const char* method, const String& path) {
63-
return sendRequest(method, path, "");
64-
}
65-
66-
FirebaseResult FirebaseConnection::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-
FirebaseResultWithMessage FirebaseConnection::sendRequestGetBody(const char* method, const String& path) {
74-
return sendRequestGetBody(method, path, "");
75-
}
76-
77-
FirebaseResultWithMessage FirebaseConnection::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-
String FirebaseConnection::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-
9423
Firebase::Firebase(const String& host) : connection_(host) {
9524
}
9625

@@ -99,18 +28,20 @@ Firebase& Firebase::auth(const String& auth) {
9928
return *this;
10029
}
10130

102-
FirebaseResultWithMessage Firebase::get(const String& path) {
31+
FirebaseResult Firebase::get(const String& path) {
10332
return 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) {
10736
return connection_.sendRequestGetBody("POST", path, value);
10837
}
10938

11039
FirebaseResult Firebase::remove(const String& path) {
11140
return connection_.sendRequest("DELETE", path);
11241
}
11342

43+
/* FirebaseEventStream */
44+
11445
FirebaseEventStream::FirebaseEventStream(const String& host) : connection_(host) {
11546
}
11647

@@ -166,3 +97,76 @@ FirebaseEventStream::Event FirebaseEventStream::read(String& event) {
16697
client->readStringUntil('\n'); // consume separator
16798
return 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+
FirebaseResult FirebaseConnection::sendRequest(const char* method, const String& path) {
113+
return sendRequest(method, path, "");
114+
}
115+
116+
FirebaseResult FirebaseConnection::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+
FirebaseResult FirebaseConnection::sendRequestGetBody(const char* method, const String& path) {
124+
return sendRequestGetBody(method, path, "");
125+
}
126+
127+
FirebaseResult FirebaseConnection::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+
String FirebaseConnection::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+
String FirebaseResult::errorMessage() const {
167+
return HTTPClient::errorToString(status_);
168+
}
169+
170+
const String& FirebaseResult::response() const {
171+
return response_;
172+
}

Firebase.h

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,29 +28,21 @@
2828
class FirebaseResult {
2929
public:
3030
FirebaseResult(int status);
31+
FirebaseResult(int status, const String& response);
32+
FirebaseResult(const FirebaseResult& result);
33+
3134
bool isError() const;
3235
bool isOk() const;
3336
String errorMessage() const;
37+
const String& response() const;
3438

3539
int httpStatus() const {
3640
return status_;
3741
}
3842

3943
protected:
4044
int status_;
41-
};
42-
43-
class FirebaseResultWithMessage : public FirebaseResult {
44-
public:
45-
FirebaseResultWithMessage(int status, const String& message);
46-
FirebaseResultWithMessage(const FirebaseResult& result,
47-
const String& message);
48-
49-
// Check isError() before calling this.
50-
const String& message() const;
51-
52-
private:
53-
String message_ ;
45+
String response_;
5446
};
5547

5648
class FirebaseConnection {
@@ -71,8 +63,8 @@ class FirebaseConnection {
7163
FirebaseResult sendRequest(const char* method, const String& path, const String& value);
7264
FirebaseResult sendRequest(const char* method, const String& path);
7365

74-
FirebaseResultWithMessage sendRequestGetBody(const char* method, const String& path);
75-
FirebaseResultWithMessage sendRequestGetBody(const char* method, const String& path, const String& value);
66+
FirebaseResult sendRequestGetBody(const char* method, const String& path);
67+
FirebaseResult sendRequestGetBody(const char* method, const String& path, const String& value);
7668

7769
private:
7870
HTTPClient http_;
@@ -88,10 +80,10 @@ class Firebase {
8880

8981
// Fetch result at "path" to a local variable. If the value is too large you will exceed
9082
// local memory.
91-
FirebaseResultWithMessage get(const String& path);
83+
FirebaseResult get(const String& path);
9284

9385
// Add new value to list at "path", will return child name of new item.
94-
FirebaseResultWithMessage push(const String& path, const String& value);
86+
FirebaseResult push(const String& path, const String& value);
9587

9688
// Deletes value at "path" from server.
9789
FirebaseResult remove(const String& path);

0 commit comments

Comments
 (0)