HTTP Client Library

Dependents:   EthernetHTTPClientTest

Embed: (wiki syntax)

« Back to documentation index

HTTPClient Class Reference

HTTPClient Class Reference

A simple HTTP Client The HTTPClient is composed of:

  • The actual client (HTTPClient)
  • Classes that act as a data repository, each of which deriving from the HTTPData class (HTTPText for short text content, HTTPFile for file I/O, HTTPMap for key/value pairs, and HTTPStream for streaming purposes)
More...

#include <HTTPClient.h>

Public Member Functions

 HTTPClient ()
 Instantiate the HTTP client.
void basicAuth (const char *user, const char *password)
 Provides a basic authentification feature (Base64 encoded username and password) Pass two NULL pointers to switch back to no authentication.
int get (const char *url, IHTTPDataIn *pDataIn, uint32_t timeout=HTTP_CLIENT_DEFAULT_TIMEOUT)
 Execute a GET request on the url Blocks until completion.
int get (const char *url, char *result, size_t maxResultLen, uint32_t timeout=HTTP_CLIENT_DEFAULT_TIMEOUT)
 Execute a GET request on the url Blocks until completion This is a helper to directly get a piece of text from a HTTP result.
int post (const char *url, const IHTTPDataOut &dataOut, IHTTPDataIn *pDataIn, uint32_t timeout=HTTP_CLIENT_DEFAULT_TIMEOUT)
 Execute a POST request on the url Blocks until completion.
int getHTTPResponseCode ()
 Get last request's HTTP response code.

Detailed Description

A simple HTTP Client The HTTPClient is composed of:

  • The actual client (HTTPClient)
  • Classes that act as a data repository, each of which deriving from the HTTPData class (HTTPText for short text content, HTTPFile for file I/O, HTTPMap for key/value pairs, and HTTPStream for streaming purposes)

Definition at line 60 of file HTTPClient.h.


Constructor & Destructor Documentation

HTTPClient (  )

Instantiate the HTTP client.

Definition at line 40 of file HTTPClient.cpp.


Member Function Documentation

void basicAuth ( const char *  user,
const char *  password 
)

Provides a basic authentification feature (Base64 encoded username and password) Pass two NULL pointers to switch back to no authentication.

Parameters:
userusername to use for authentication, must remain valid durlng the whole HTTP session
userpassword to use for authentication, must remain valid durlng the whole HTTP session

Definition at line 52 of file HTTPClient.cpp.

int get ( const char *  url,
IHTTPDataIn pDataIn,
uint32_t  timeout = HTTP_CLIENT_DEFAULT_TIMEOUT 
)

Execute a GET request on the url Blocks until completion.

Parameters:
url: url on which to execute the request
pDataIn: pointer to an IHTTPDataIn instance that will collect the data returned by the request, can be NULL
timeoutwaiting timeout in ms (osWaitForever for blocking function, not recommended)
Returns:
0 on success, NET error (<0) on failure

Definition at line 59 of file HTTPClient.cpp.

int get ( const char *  url,
char *  result,
size_t  maxResultLen,
uint32_t  timeout = HTTP_CLIENT_DEFAULT_TIMEOUT 
)

Execute a GET request on the url Blocks until completion This is a helper to directly get a piece of text from a HTTP result.

Parameters:
url: url on which to execute the request
result: pointer to a char array in which the result will be stored
maxResultLen: length of the char array (including space for the NULL-terminating char)
timeoutwaiting timeout in ms (osWaitForever for blocking function, not recommended)
Returns:
0 on success, NET error on failure

Definition at line 64 of file HTTPClient.cpp.

int getHTTPResponseCode (  )

Get last request's HTTP response code.

Returns:
The HTTP response code of the last request

Definition at line 75 of file HTTPClient.cpp.

int post ( const char *  url,
const IHTTPDataOut dataOut,
IHTTPDataIn pDataIn,
uint32_t  timeout = HTTP_CLIENT_DEFAULT_TIMEOUT 
)

Execute a POST request on the url Blocks until completion.

Parameters:
url: url on which to execute the request
dataOut: a IHTTPDataOut instance that contains the data that will be posted
pDataIn: pointer to an IHTTPDataIn instance that will collect the data returned by the request, can be NULL
timeoutwaiting timeout in ms (osWaitForever for blocking function, not recommended)
Returns:
0 on success, NET error on failure

Definition at line 70 of file HTTPClient.cpp.