mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-01 12:24:14 +01:00
Added POST to HttpClient
Added POST to HttpClient and also the ability to set a header (for API Keys) for GET and POST.
This commit is contained in:
parent
5de6192dae
commit
c7e5e7cbfe
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright (c) 2013 Arduino LLC. All right reserved.
|
||||
Copyright (c) 2013-2014 Arduino LLC. All right reserved.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
@ -28,6 +28,7 @@ unsigned int HttpClient::get(String &url) {
|
||||
if (insecure) {
|
||||
addParameter("-k");
|
||||
}
|
||||
addHeader();
|
||||
addParameter(url);
|
||||
return run();
|
||||
}
|
||||
@ -37,6 +38,7 @@ unsigned int HttpClient::get(const char *url) {
|
||||
if (insecure) {
|
||||
addParameter("-k");
|
||||
}
|
||||
addHeader();
|
||||
addParameter(url);
|
||||
return run();
|
||||
}
|
||||
@ -46,6 +48,7 @@ void HttpClient::getAsynchronously(String &url) {
|
||||
if (insecure) {
|
||||
addParameter("-k");
|
||||
}
|
||||
addHeader();
|
||||
addParameter(url);
|
||||
runAsynchronously();
|
||||
}
|
||||
@ -55,6 +58,43 @@ void HttpClient::getAsynchronously(const char *url) {
|
||||
if (insecure) {
|
||||
addParameter("-k");
|
||||
}
|
||||
addHeader();
|
||||
addParameter(url);
|
||||
runAsynchronously();
|
||||
}
|
||||
|
||||
unsigned int HttpClient::post(String &url, String &data) {
|
||||
return post(url.c_str(), data.c_str());
|
||||
}
|
||||
|
||||
unsigned int HttpClient::post(const char *url, const char *data) {
|
||||
begin("curl");
|
||||
if (insecure) {
|
||||
addParameter("-k");
|
||||
}
|
||||
addParameter("--request");
|
||||
addParameter("POST");
|
||||
addParameter("--data");
|
||||
addParameter(data);
|
||||
addHeader();
|
||||
addParameter(url);
|
||||
return run();
|
||||
}
|
||||
|
||||
void HttpClient::postAsynchronously(String &url, String &data) {
|
||||
postAsynchronously(url.c_str(), data.c_str());
|
||||
}
|
||||
|
||||
void HttpClient::postAsynchronously(const char *url, const char *data) {
|
||||
begin("curl");
|
||||
if (insecure) {
|
||||
addParameter("-k");
|
||||
}
|
||||
addParameter("--request");
|
||||
addParameter("POST");
|
||||
addParameter("--data");
|
||||
addParameter(data);
|
||||
addHeader();
|
||||
addParameter(url);
|
||||
runAsynchronously();
|
||||
}
|
||||
@ -75,3 +115,18 @@ void HttpClient::checkSSL() {
|
||||
insecure = false;
|
||||
}
|
||||
|
||||
void HttpClient::setHeader(String &header) {
|
||||
this->header = header;
|
||||
}
|
||||
|
||||
void HttpClient::setHeader(const char * header) {
|
||||
this->header = String(header);
|
||||
}
|
||||
|
||||
void HttpClient::addHeader() {
|
||||
if (header.length() > 0) {
|
||||
addParameter("--header");
|
||||
addParameter(header);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright (c) 2013 Arduino LLC. All right reserved.
|
||||
Copyright (c) 2013-2014 Arduino LLC. All right reserved.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
@ -29,6 +29,12 @@ class HttpClient : public Process {
|
||||
unsigned int get(const char * url);
|
||||
void getAsynchronously(String &url);
|
||||
void getAsynchronously(const char * url);
|
||||
unsigned int post(String &url, String &data);
|
||||
unsigned int post(const char * url, const char * data);
|
||||
void postAsynchronously(String &url, String &data);
|
||||
void postAsynchronously(const char * url, const char * data);
|
||||
void setHeader(String &header);
|
||||
void setHeader(const char * header);
|
||||
boolean ready();
|
||||
unsigned int getResult();
|
||||
void noCheckSSL();
|
||||
@ -37,6 +43,9 @@ class HttpClient : public Process {
|
||||
private:
|
||||
boolean insecure;
|
||||
|
||||
private:
|
||||
void addHeader();
|
||||
String header;
|
||||
};
|
||||
|
||||
#endif /* HTTPCLIENT_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user