NetBurner 3.5.6
PDF Version
http_funcs.h File Reference

JSON HTTP functions. More...

#include <nbrtos.h>
#include <nettypes.h>
#include <dns.h>
#include <webclient/web_buffers.h>

Go to the source code of this file.

Classes

class  ParsedURI
 Parsed Uniform Resource Identifier Class (URI) More...
 

Functions

void SetHttpDiag (bool b)
 Enable/disable Web Client HTTP diagnostics to the console port.
 
void SetHttpDiag (int level)
 Enable/disable Web Client HTTP diagnostics to the console port.
 
int DoMultipartStartHttp (HttpMethod method, ParsedURI &TheUri, const char *separator, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND, uint32_t contentLength=0)
 Initiates a multipart HTTP request using a pre-parsed URI and returns a connection file descriptor.
 
int DoMultipartStartHttp (HttpMethod method, const char *pUrl, const char *separator, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND, uint32_t contentLength=0)
 Initiates a multipart HTTP request using a URL string and returns a connection file descriptor.
 
int DoMultipartStartPost (ParsedURI &TheUri, const char *separator, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND, uint32_t contentLength=0)
 Initiates a multipart HTTP POST request using a pre-parsed URI and returns a connection file descriptor.
 
int DoMultipartStartPost (const char *pUrl, const char *separator, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND, uint32_t contentLength=0)
 Initiates a multipart HTTP POST request using a URL string and returns a connection file descriptor.
 
void DoMultipartItem (int tcpfd, const char *Disposition, const char *separator, const unsigned char *data, int len)
 Sends a multipart data item within an active multipart HTTP request.
 
void DoMultipartBoundary (int tcpfd, const char *Disposition, const char *separator)
 Sends a multipart boundary section within an active multipart HTTP request.
 
bool DoMultipartFinished (int tcpfd, const char *separator, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Completes a multipart HTTP request and retrieves the server response in a buffer object.
 
bool DoMultipartFinished (int tcpfd, const char *separator, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Completes a multipart HTTP request and retrieves the server response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that finalizes a multipart HTTP request and stores the server response in an NBString reference. The function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoMultipartFinished implementation. This provides string-based response handling for multipart operations where text-based responses are expected.
 
bool DoUrlEncodedFormHttp (HttpMethod method, ParsedURI &TheUri, char *headers, char *form_data, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT)
 Executes an HTTP request with URL-encoded form data using a pre-parsed URI and stores the response in a buffer object.
 
bool DoUrlEncodedFormPost (ParsedURI &TheUri, char *headers, char *form_data, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT)
 Executes an HTTP POST request with URL-encoded form data using a pre-parsed URI and stores the response in a buffer object.
 
bool DoUrlEncodedFormHttp (HttpMethod method, ParsedURI &TheUri, char *headers, char *form_data, NBString &result_string, uint16_t TIMEOUT_WAIT)
 Executes an HTTP request with URL-encoded form data using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using URL-encoded form data and a pre-parsed URI object. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoUrlEncodedFormHttp implementation. This provides flexibility for form-based HTTP operations with pre-parsed URIs and string-based response handling.
 
bool DoUrlEncodedFormPost (ParsedURI &TheUri, char *headers, char *form_data, NBString &result_string, uint16_t TIMEOUT_WAIT)
 Executes an HTTP POST request with URL-encoded form data using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request with URL-encoded form data using a pre-parsed URI object. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoUrlEncodedFormHttp implementation. Using a pre-parsed URI can improve performance when making multiple form submissions to the same host by avoiding repeated URL parsing operations.
 
bool DoUrlEncodedFormHttp (HttpMethod method, const char *pUrl, char *headers, char *form_data, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT)
 Executes an HTTP request with URL-encoded form data using a URL string and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is the core URL-encoded form HTTP function that performs an HTTP request with the specified method using URL-encoded form data and a URL string. The complete response body is stored in the provided buffer object. This function provides the foundation for form-based HTTP operations, supporting all standard HTTP methods while handling URL parsing and DNS resolution automatically. The form data is sent with the appropriate Content-Type header for proper server processing of web form submissions.
 
bool DoUrlEncodedFormPost (const char *pUrl, char *headers, char *form_data, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT)
 Executes an HTTP POST request with URL-encoded form data using a URL string and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request with URL-encoded form data using a URL string. The complete response body is stored in the provided buffer object. This function is a simple wrapper around the generic DoUrlEncodedFormHttp function, specifically optimized for POST operations with form data. This provides the most straightforward interface for web form submissions when you have URL-encoded form data and want to use automatic URL parsing with buffer-based response handling.
 
bool DoUrlEncodedFormPost (const char *pUrl, char *headers, char *form_data, NBString &result_string, uint16_t TIMEOUT_WAIT)
 Executes an HTTP POST request with URL-encoded form data using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request with URL-encoded form data using a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoUrlEncodedFormHttp implementation. This provides a simple interface for form-based POST operations with string-based response handling.
 
bool DoJsonHttp (HttpMethod method, const char *pUrl, const char *Json_Data_To_Post, buffer_object &result_buffer, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with raw JSON data using a URL string and stores the response in a buffer object.
 
bool DoJsonPost (const char *pUrl, const char *Json_Data_To_Post, buffer_object &result_buffer, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with raw JSON data using a URL string and stores the response in a buffer object.
 
bool DoJsonHttp (HttpMethod method, const char *pUrl, const char *Json_Data_To_Post, NBString &result_string, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with raw JSON data using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using raw JSON data provided as a string and a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. The URL string will be parsed internally and DNS resolution will be performed automatically if needed, making this ideal for simple JSON operations with pre-formatted data.
 
bool DoJsonPost (const char *pUrl, const char *Json_Data_To_Post, NBString &result_string, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with raw JSON data using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using raw JSON data provided as a string and a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This provides the simplest interface for JSON POST operations when you have pre-formatted JSON data and want string-based response handling with automatic URL parsing.
 
bool DoJsonHttp (HttpMethod method, ParsedURI &TheUri, const char *Json_Data_To_Post, buffer_object &result_buffer, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with raw JSON data using a pre-parsed URI and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is the core JSON HTTP function for raw JSON string data that performs an HTTP request with the specified method using raw JSON data provided as a string and a pre-parsed URI object. The complete response body is stored in the provided buffer object. This function provides the foundation for JSON HTTP operations with pre-formatted JSON strings, offering optimal performance through pre-parsed URI components while supporting all standard HTTP methods.
 
bool DoJsonPost (ParsedURI &TheUri, const char *Json_Data_To_Post, buffer_object &result_buffer, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with raw JSON data using a pre-parsed URI and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using raw JSON data provided as a string and a pre-parsed URI object. The complete response body is stored in the provided buffer object. This function is a simple wrapper around the generic DoJsonHttp function, specifically optimized for POST operations with pre-formatted JSON strings, providing a streamlined interface when you already have JSON data in string format.
 
bool DoJsonHttp (HttpMethod method, ParsedURI &TheUri, const char *Json_Data_To_Post, NBString &result_string, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with raw JSON data using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using raw JSON data provided as a string and a pre-parsed URI object. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This provides flexibility for JSON operations with pre-formatted JSON strings and string-based response handling.
 
bool DoJsonPost (ParsedURI &TheUri, const char *Json_Data_To_Post, NBString &result_string, const char *AdditionalHeaders=NULL, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with raw JSON data using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using raw JSON data provided as a string and a pre-parsed URI object. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This provides a simple interface for JSON POST operations with pre-formatted JSON strings and string-based response handling.
 
bool DoJsonHttp (HttpMethod method, const char *pUrl, ParsedJsonDataSet &jsonout, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with JSON data from a ParsedJsonDataSet using a URL string and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is the core JSON HTTP function that performs an HTTP request with the specified method using JSON data from a ParsedJsonDataSet object and a URL string. The complete response body is stored in the provided buffer object. This function provides the foundation for programmatic JSON HTTP operations with string-based URLs, allowing dynamic construction and manipulation of JSON data before transmission. The URL string will be parsed internally and DNS resolution will be performed automatically if needed.
 
bool DoJsonPost (const char *pUrl, ParsedJsonDataSet &jsonout, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a ParsedJsonDataSet using a URL string and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using JSON data from a ParsedJsonDataSet object and a URL string. The complete response body is stored in the provided buffer object. This function is a simple wrapper around the generic DoJsonHttp function, specifically optimized for POST operations with programmatically constructed JSON data, providing a streamlined interface for common JSON API interactions.
 
bool DoJsonHttp (HttpMethod method, const char *pUrl, ParsedJsonDataSet &jsonout, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with JSON data from a ParsedJsonDataSet using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using JSON data from a ParsedJsonDataSet object and a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This provides flexibility for programmatic JSON operations with string-based response handling and simplified URL specification.
 
bool DoJsonPost (const char *pUrl, ParsedJsonDataSet &jsonout, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a ParsedJsonDataSet using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using JSON data from a ParsedJsonDataSet object and a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This provides a simple interface for JSON POST operations with programmatically constructed data and string-based response handling.
 
bool DoJsonHttp (HttpMethod method, ParsedURI &TheUri, ParsedJsonDataSet &jsonout, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with JSON data from a ParsedJsonDataSet using a pre-parsed URI and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is the core JSON HTTP function that performs an HTTP request with the specified method using JSON data from a ParsedJsonDataSet object and a pre-parsed URI. The complete response body is stored in the provided buffer object. This function provides the foundation for programmatic JSON HTTP operations, allowing dynamic construction and manipulation of JSON data before transmission. The ParsedJsonDataSet will be automatically serialized to JSON format for the request body.
 
bool DoJsonPost (ParsedURI &TheUri, ParsedJsonDataSet &jsonout, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a ParsedJsonDataSet using a pre-parsed URI and stores the response in a buffer object. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using JSON data from a ParsedJsonDataSet object and a pre-parsed URI. The complete response body is stored in the provided buffer object. This function is a simple wrapper around the generic DoJsonHttp function, specifically optimized for POST operations with programmatically constructed JSON data, providing a streamlined interface for common JSON API interactions.
 
bool DoJsonHttp (HttpMethod method, ParsedURI &TheUri, ParsedJsonDataSet &jsonout, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with JSON data from a ParsedJsonDataSet using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using JSON data from a ParsedJsonDataSet object and a pre-parsed URI. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This provides flexibility for programmatic JSON operations with string-based response handling.
 
bool DoJsonPost (ParsedURI &TheUri, ParsedJsonDataSet &jsonout, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a ParsedJsonDataSet using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using JSON data from a ParsedJsonDataSet object and a pre-parsed URI. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttp implementation. This approach allows for dynamic JSON POST requests with programmatically constructed data.
 
bool DoJsonHttpFile (HttpMethod method, const char *pUrl, const char *FragmentName, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with JSON data from a file fragment using a URL string and stores the response in a buffer object.
 
bool DoJsonPostHttpFile (const char *pUrl, const char *FragmentName, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a file fragment using a URL string and stores the response in a buffer object.
 
bool DoJsonHttpFile (HttpMethod method, const char *pUrl, const char *FragmentName, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Performs an HTTP request and stores JSON response in an NBString This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that wraps the result NBString in a StringBufferObject and calls the main DoJsonHttpFile function.
 
bool DoJsonPostHttpFile (const char *pUrl, const char *FragmentName, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Performs an HTTP POST request and stores JSON response in an NBString This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience wrapper function that simplifies HTTP POST operations with JSON response handling. It internally calls DoJsonHttpFile with HttpMethod::Post and automatically manages the buffer conversion from NBString to StringBufferObject. The function handles the complete HTTP transaction including connection establishment, request transmission, response reception, and JSON parsing. Only the specified JSON fragment is extracted from the response and stored in the result string, making it efficient for retrieving specific data from larger JSON responses. The function is particularly useful for REST API interactions where you need to POST data and extract a specific piece of information from the JSON response.
 
bool DoJsonHttpFile (HttpMethod method, ParsedURI &TheUri, const char *FragmentName, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Sends an HTTP request and processes JSON response using a pre-parsed URI.
 
bool DoJsonPostHttpFile (ParsedURI &TheUri, const char *FragmentName, buffer_object &result_buffer, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a file fragment using a pre-parsed URI and stores the response in a buffer object.
 
bool DoJsonHttpFile (HttpMethod method, ParsedURI &TheUri, const char *FragmentName, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with JSON data from a file fragment using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using JSON data loaded from a file fragment and a pre-parsed URI object. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttpFile implementation. This approach provides maximum flexibility for JSON-based HTTP operations with pre-stored data fragments.
 
bool DoJsonPostHttpFile (ParsedURI &TheUri, const char *FragmentName, NBString &result_string, const char *AdditionalHeaders, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP POST request with JSON data from a file fragment using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP POST request using JSON data loaded from a specified file fragment and a pre-parsed URI object. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoJsonHttpFile implementation. This approach allows for efficient JSON POST requests with pre-defined data stored in file fragments.
 
bool DoHttp (HttpMethod method, ParsedURI &TheUri, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request using a pre-parsed URI and stores the response in a buffer object.
 
bool DoGet (ParsedURI &TheUri, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request using a pre-parsed URI and stores the response in a buffer object.
 
bool DoHttp (HttpMethod method, ParsedURI &TheUri, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using a pre-parsed URI object and stores the complete response body in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttp implementation that accepts a buffer_object. Using a pre-parsed URI can improve performance when making multiple requests to the same host by avoiding repeated URL parsing operations.
 
bool DoGet (ParsedURI &TheUri, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP GET request using a pre-parsed URI object and stores the complete response body in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttp implementation. Using a pre-parsed URI can improve performance when making multiple requests to the same host by avoiding repeated URL parsing operations.
 
bool DoHttpEx (HttpMethod method, ParsedURI &TheUri, const char *headers, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with custom headers using a pre-parsed URI and stores the response in a buffer object.
 
bool DoGetEx (ParsedURI &TheUri, const char *headers, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request with custom headers using a pre-parsed URI and stores the response in a buffer object.
 
bool DoHttpEx (HttpMethod method, ParsedURI &TheUri, const char *headers, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with custom headers using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method using a pre-parsed URI object and allows custom headers to be included in the request. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttpEx implementation that accepts a buffer_object.
 
bool DoGetEx (ParsedURI &TheUri, const char *headers, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request with custom headers using a pre-parsed URI and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP GET request using a pre-parsed URI object and allows custom headers to be included in the request. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttpEx implementation.
 
bool DoHttp (HttpMethod method, const char *pUrl, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP/HTTPS request using the specified method and stores the response in a buffer object.
 
bool DoGet (const char *pUrl, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP/HTTPS GET request and stores the response in a buffer object.
 
bool DoHttp (HttpMethod method, const char *pUrl, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Performs an HTTP request using the specified method and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the given method to the specified URL and stores the complete response body in the provided NBString reference. The function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttp implementation.
 
bool DoGet (const char *pUrl, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Performs an HTTP GET request and stores the result in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This overload provides a convenient way to perform HTTP GET requests when you want to store the response directly in an NBString object. The function wraps the NBString in a StringBufferObject and delegates to the main DoHttp function.
 
bool DoHttpEx (HttpMethod method, const char *pUrl, const char *headers, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Execute a HTTP/HTTPS request using a pointer to a URL string.
 
bool DoGetEx (const char *pUrl, const char *headers, buffer_object &result_buffer, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request with custom headers using a URL string and stores the response in a buffer object.
 
bool DoHttpEx (HttpMethod method, const char *pUrl, const char *headers, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with custom headers using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP request with the specified method and custom headers using a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttpEx implementation. This provides maximum flexibility for HTTP operations with custom headers and string-based response handling.
 
bool DoGetEx (const char *pUrl, const char *headers, NBString &result_string, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request with custom headers using a URL string and stores the response in an NBString. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This is a convenience overload that performs an HTTP GET request with custom headers using a URL string. The complete response body is stored in the provided NBString reference. This function uses a StringBufferObject internally to handle the response data collection and forwards the call to the underlying DoHttpEx implementation. This provides a simple interface for GET requests that require custom headers with string-based response handling.
 
int DoHttp (HttpMethod method, ParsedURI &TheUri, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request using a pre-parsed URI and stores the response in a raw buffer.
 
int DoHttpEx (HttpMethod method, ParsedURI &TheUri, const char *headers, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with custom headers using a pre-parsed URI and stores the response in a raw buffer.
 
int DoHttp (HttpMethod method, const char *pUrl, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request using a URL string and stores the response in a raw buffer.
 
int DoHttpEx (HttpMethod method, const char *pUrl, const char *headers, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP request with custom headers using a URL string and stores the response in a raw buffer.
 
int DoGet (ParsedURI &TheUri, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request using a pre-parsed URI and stores the response in a raw buffer.
 
int DoGetEx (ParsedURI &TheUri, const char *headers, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request with custom headers using a pre-parsed URI and stores the response in a raw buffer.
 
int DoGet (const char *pUrl, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request using a URL string and stores the response in a raw buffer.
 
int DoGetEx (const char *pUrl, const char *headers, unsigned char *result, int maxl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Executes an HTTP GET request with custom headers using a URL string and stores the response in a raw buffer.
 
int DoGetUpdate (ParsedURI &TheUri, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Execute a firmware update from the specified URI.
 
int DoGetUpdate (const char *pUrl, uint16_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Execute a firmware update from the specified URI.
 
int PopulateAuthHeader (const char *user, const char *password, char *buffer, int maxlen)
 Generates a Base64-encoded HTTP Basic Authentication header string for inclusion in HTTP requests.
 
int StartConnection (ParsedURI &TheUri, uint32_t timeout=TICKS_PER_SECOND *10)
 Establishes a TCP/TLS connection to a host using a pre-parsed URI with timeout specified in ticks.
 
int WriteHttpRequestHeaders (int fd, ParsedURI &uri, const char *methodStr, int content_len=0, const char *content_type=0, const char *extra_header=0)
 Writes HTTP request headers to an established connection file descriptor.
 
int StartTransaction (ParsedURI &TheUri, const char *headers=0, const char *action="GET", uint32_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Initiates an HTTP transaction using a pre-parsed URI by establishing a connection and sending request headers.
 
int StartTransaction (const char *pUrl, const char *headers=0, const char *action="GET", uint32_t TIMEOUT_WAIT=10 *TICKS_PER_SECOND)
 Initiates an HTTP transaction using a URL string by establishing a connection and sending request headers.
 

Detailed Description

JSON HTTP functions.

These Web Client functions can be used with TCP, or with TLS WEB_CLIENT_SSL_SUPPORT is enabled.