-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEasyHTTP.cpp
110 lines (91 loc) · 2.47 KB
/
EasyHTTP.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include "EasyHTTP.h"
EasyHTTP::EasyHTTP(char* ssid, char* password) {
_ssid = ssid;
_password = password;
}
void EasyHTTP::connectWiFi() {
Serial.print("[EasyHTTP] Connecting to: ");
Serial.println(_ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(_ssid, _password);
while(WiFi.status() != WL_CONNECTED){
Serial.print("|");
delay(200);
}
Serial.println();
Serial.println("[EasyHTTP] Suscessfully connected.");
}
void EasyHTTP::setBaseURL(String baseURL) {
_baseURL = baseURL;
}
String EasyHTTP::get(String path) {
if ((WiFi.status() == WL_CONNECTED)) {
HTTPClient http;
String url = _baseURL + path;
http.begin(url);
int httpCode = http.GET();
String response = "";
if(httpCode > 0) {
response = http.getString();
DynamicJsonDocument doc(32);
deserializeJson(doc, response);
lastCode = httpCode;
}
else {
Serial.println("[EasyHTTP] Error on HTTP request");
}
Serial.println("[EasyHTTP] GET " + url + " " + httpCode);
http.end();
return response;
} else {
Serial.println("[EasyHTTP] Error on WiFi connection");
}
}
String EasyHTTP::post(String path, String payload) {
if ((WiFi.status() == WL_CONNECTED)) {
HTTPClient http;
String url = _baseURL + path;
http.begin(url);
http.addHeader("Content-Type", "application/json");
int httpCode = http.POST(payload);
String response = "";
if(httpCode > 0) {
response = http.getString();
DynamicJsonDocument doc(32);
deserializeJson(doc, response);
lastCode = httpCode;
}
else {
Serial.println("[EasyHTTP] Error on HTTP request");
}
Serial.println("[EasyHTTP] POST " + url + " " + httpCode);
http.end();
return response;
} else {
Serial.println("[EasyHTTP] Error on WiFi connection");
}
}
String EasyHTTP::post(String path) {
if ((WiFi.status() == WL_CONNECTED)) {
HTTPClient http;
String url = _baseURL + path;
http.begin(url);
http.addHeader("Content-Type", "text/plain");
int httpCode = http.POST("");
String response = "";
if(httpCode > 0) {
response = http.getString();
DynamicJsonDocument doc(32);
deserializeJson(doc, response);
lastCode = httpCode;
}
else {
Serial.println("[EasyHTTP] Error on HTTP request");
}
Serial.println("[EasyHTTP] POST " + url + " " + httpCode);
http.end();
return response;
} else {
Serial.println("[EasyHTTP] Error on WiFi connection");
}
}