-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRestClient.cpp
60 lines (49 loc) · 1.58 KB
/
RestClient.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
#include "RestClient.h"
RestClient :: RestClient(String server, int port){
serverName = server;
serverPort = port;
}
String RestClient :: get(String path){
String getBody;
if (client.connect(serverName.c_str(), serverPort)) {
Serial.println("[ INFO ] Conectado a API");
//Faz uma requisição HTTP
client.println("GET "+path+" HTTP/1.1");
client.println("Host: "+serverName);
client.println(Header);
client.println();
int timoutTimer = 10000;
long startTimer = millis();
boolean state = false;
String getAll;
while ((startTimer + timoutTimer) > millis()) {
Serial.print(".");
delay(100);
while (client.available()) {
char c = client.read();
if (c == '\n') {
if (getAll.length()==0) state=true;
getAll = "";
}
else if (c != '\r') getAll += String(c);
if (state==true) getBody += String(c);
startTimer = millis();
}
if (getBody.length()>0) break;
}
client.stop();
return getBody;
} else {
Serial.println("[ INFO ] Erro ao se conectar com a API."); //Caso não seja possível obter uma conexao
return "Erro";
}
}
String RestClient :: post(String path){
}
void RestClient:: set_header(String nHeader){
Header = nHeader;
}
void RestClient:: set_server(String server, int port){
serverName = server;
serverPort = port;
}