hueplusplus
1.0.0
|
Abstract class for classes that handle http requests and multicast requests. More...
#include <hueplusplus/IHttpHandler.h>
Public Member Functions | |
virtual | ~IHttpHandler ()=default |
Virtual dtor. More... | |
virtual std::string | send (const std::string &msg, const std::string &adr, int port=80) const =0 |
Send a message to a specified host and return the response. More... | |
virtual std::string | sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const =0 |
Send a message to a specified host and return the body of the response. More... | |
virtual std::vector< std::string > | sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const =0 |
Send a multicast request with a specified message. More... | |
virtual std::string | sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0 |
Send a HTTP request with the given method to the specified host and return the body of the response. More... | |
virtual std::string | GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0 |
Send a HTTP GET request to the specified host and return the body of the response. More... | |
virtual std::string | POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0 |
Send a HTTP POST request to the specified host and return the body of the response. More... | |
virtual std::string | PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0 |
Send a HTTP PUT request to the specified host and return the body of the response. More... | |
virtual std::string | DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0 |
Send a HTTP DELETE request to the specified host and return the body of the response. More... | |
virtual nlohmann::json | GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0 |
Send a HTTP GET request to the specified host and return the body of the response parsed as JSON. More... | |
virtual nlohmann::json | POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0 |
Send a HTTP POST request to the specified host and return the body of the response parsed as JSON. More... | |
virtual nlohmann::json | PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0 |
Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON. More... | |
virtual nlohmann::json | DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0 |
Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON. More... | |
Abstract class for classes that handle http requests and multicast requests.
|
virtualdefault |
Virtual dtor.
|
pure virtual |
Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON.
uri | Uniform Resource Identifier in the request |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
nlohmann::json::parse_error | when the body could not be parsed |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP DELETE request to the specified host and return the body of the response.
uri | Uniform Resource Identifier in the request |
contentType | MIME type of the body data e.g. "text/html", "application/json", ... |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP GET request to the specified host and return the body of the response parsed as JSON.
uri | Uniform Resource Identifier in the request |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
nlohmann::json::parse_error | when the body could not be parsed |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP GET request to the specified host and return the body of the response.
uri | Uniform Resource Identifier in the request |
contentType | MIME type of the body data e.g. "text/html", "application/json", ... |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP POST request to the specified host and return the body of the response parsed as JSON.
uri | Uniform Resource Identifier in the request |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
nlohmann::json::parse_error | when the body could not be parsed |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP POST request to the specified host and return the body of the response.
uri | Uniform Resource Identifier in the request |
contentType | MIME type of the body data e.g. "text/html", "application/json", ... |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON.
uri | Uniform Resource Identifier in the request |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
nlohmann::json::parse_error | when the body could not be parsed |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP PUT request to the specified host and return the body of the response.
uri | Uniform Resource Identifier in the request |
contentType | MIME type of the body data e.g. "text/html", "application/json", ... |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a message to a specified host and return the response.
msg | The message that should be sent to the specified address |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
Implemented in hueplusplus::WinHttpHandler, and hueplusplus::LinHttpHandler.
|
pure virtual |
Send a message to a specified host and return the body of the response.
msg | The message that should sent to the specified address |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a HTTP request with the given method to the specified host and return the body of the response.
method | HTTP method type e.g. GET, HEAD, POST, PUT, DELETE, ... |
uri | Uniform Resource Identifier in the request |
contentType | MIME type of the body data e.g. "text/html", "application/json", ... |
body | Request body, may be empty |
adr | Ip or hostname in dotted decimal notation like "192.168.2.1" |
port | Optional port the request is sent to, default is 80 |
std::system_error | when system or socket operations fail |
HueException | when response contained no body |
Implemented in hueplusplus::BaseHttpHandler.
|
pure virtual |
Send a multicast request with a specified message.
msg | The message that should sent to the specified multicast address |
adr | Optional ip or hostname in dotted decimal notation, default is "239.255.255.250" |
port | Optional port the request is sent to, default is 1900 |
timeout | Optional time to wait for responses, default is 5 seconds |
Blocks for the duration of the timeout.
std::system_error | when system or socket operations fail |
Implemented in hueplusplus::WinHttpHandler, and hueplusplus::LinHttpHandler.