RAFW Flexible Software Package Documentation  Release v2.0.1

 
HTTPS Interface

Detailed Description

Interface for HTTPS APIs.

Summary

The HTTPS interface provides HTTPS functionality including starting server or sending a HTTP request.

Data Structures

struct  http_client_request_t
 
struct  http_client_receive_t
 
struct  http_client_conf_t
 
struct  https_callback_args_t
 
struct  https_cfg_t
 
struct  https_api_t
 
struct  https_instance_t
 

Macros

#define HTTPC_MAX_REQ_DATA
 Max size of HTTP Client's request data.
 

Typedefs

typedef void https_ctrl_t
 

Enumerations

enum  https_client_opcode_t
 
enum  https_event_t
 
enum  https_client_status_t
 

Data Structure Documentation

◆ http_client_request_t

struct http_client_request_t

HTTP Request structure

Data Fields
https_client_opcode_t op_code Operation code.
uint32_t iface Interface.
uint32_t port Port number of HTTP Server.
uint32_t insecure Secure Mode.
char hostname[HTTPC_MAX_HOSTNAME_LEN] Host Name of HTTP request.
char path[HTTPC_MAX_PATH_LEN] Path of HTTP request.
char data[HTTPC_MAX_REQ_DATA] Data of HTTP request.
char username[HTTPC_MAX_NAME] User name of HTTP request.
char password[HTTPC_MAX_PASSWORD] Password of HTTP request.
httpc_secure_connection_t https_conf TLS Configuration.

◆ http_client_receive_t

struct http_client_receive_t

Data transfer with AT-CMD interface

Data Fields
bool chunked Flag.
int32_t chunked_len Parsed Chunked Size.
int32_t chunked_remain_len Chunked payload not yet received.

◆ http_client_conf_t

struct http_client_conf_t

HTTP Client configuration

Data Fields
https_client_status_t status Status of HTTP Client.
http_client_request_t request HTTP request instance.
http_client_receive_t receive HTTP receive instance.

◆ https_callback_args_t

struct https_callback_args_t

Callback function parameter data

Data Fields
https_event_t event The event can be used to identify what caused the callback.
void const * p_context Placeholder for user data.
void * payload
void * p_param
uint16_t len

◆ https_cfg_t

struct https_cfg_t

Configuration parameters.

Data Fields

void(* p_callback )(https_callback_args_t *)
 Pointer to callback.
 
void const * p_context
 Placeholder for user data.
 
void const * p_extend
 Placeholder for user extension.
 

◆ https_api_t

struct https_api_t

Functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* open )(https_ctrl_t *const p_ctrl, https_cfg_t const *const p_cfg)
 
fsp_err_t(* serverStart )(https_ctrl_t *const p_ctrl, https_server_sec_t *p_sec)
 
fsp_err_t(* serverStop )(https_ctrl_t *const p_ctrl)
 
fsp_err_t(* serverGetStatus )(https_ctrl_t *const p_ctrl, https_server_status_t *p_status)
 
fsp_err_t(* callbackSet )(https_ctrl_t *const p_ctrl, void(*p_callback)(https_callback_args_t *), void const *const p_context, https_callback_args_t *const p_callback_memory)
 
fsp_err_t(* clientSendRequest )(https_ctrl_t *const p_ctrl, http_client_request_t *p_request)
 
fsp_err_t(* close )(https_ctrl_t *const p_ctrl)
 

Field Documentation

◆ open

fsp_err_t(* https_api_t::open) (https_ctrl_t *const p_ctrl, https_cfg_t const *const p_cfg)

Initialize HTTPS module.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to pin configuration structure.

◆ serverStart

fsp_err_t(* https_api_t::serverStart) (https_ctrl_t *const p_ctrl, https_server_sec_t *p_sec)

Start HTTP Server.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_secPointer to key and certificate.

◆ serverStop

fsp_err_t(* https_api_t::serverStop) (https_ctrl_t *const p_ctrl)

Stop HTTP Server.

Parameters
[in]p_ctrlPointer to control structure.

◆ serverGetStatus

fsp_err_t(* https_api_t::serverGetStatus) (https_ctrl_t *const p_ctrl, https_server_status_t *p_status)

Get server status.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_statusPointer to server status.

◆ callbackSet

fsp_err_t(* https_api_t::callbackSet) (https_ctrl_t *const p_ctrl, void(*p_callback)(https_callback_args_t *), void const *const p_context, https_callback_args_t *const p_callback_memory)

Set HTTPS module callback.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_callbackPointer to callback.
[in]p_contextPointer to data for callback.
[in]p_callback_memoryPointer to memory for callback.

◆ clientSendRequest

fsp_err_t(* https_api_t::clientSendRequest) (https_ctrl_t *const p_ctrl, http_client_request_t *p_request)

Send request to server.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_requestPointer to http request.

◆ close

fsp_err_t(* https_api_t::close) (https_ctrl_t *const p_ctrl)

Close HTTPS module.

Parameters
[in]p_ctrlPointer to control structure.

◆ https_instance_t

struct https_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
https_ctrl_t * p_ctrl Pointer to the control structure for this instance.
https_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
https_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ https_ctrl_t

typedef void https_ctrl_t

Control block. Allocate an instance specific control block to pass into the API calls.

Enumeration Type Documentation

◆ https_client_opcode_t

Operation code of HTTP Client

Enumerator
HTTP_CLIENT_OPCODE_READY 

Init value.

HTTP_CLIENT_OPCODE_HEAD 

Head method request.

HTTP_CLIENT_OPCODE_GET 

GET method request.

HTTP_CLIENT_OPCODE_PUT 

PUT method request.

HTTP_CLIENT_OPCODE_POST 

POST method request.

HTTP_CLIENT_OPCODE_PATCH 

PATCH method request.

HTTP_CLIENT_OPCODE_DELETE 

DELETE method request.

HTTP_CLIENT_OPCODE_CONNECT 

CONNECT method request.

HTTP_CLIENT_OPCODE_TRACE 

TRACE method request.

HTTP_CLIENT_OPCODE_OPTIONS 

OPTIONS method request.

HTTP_CLIENT_OPCODE_MESSAGE 

User Generated Messages request.

HTTP_CLIENT_OPCODE_STATUS 

Display status of HTTP client.

HTTP_CLIENT_OPCODE_HELP 

Display Help menu.

HTTP_CLIENT_OPCODE_STOP 

Stop HTTP Client.

◆ https_event_t

Events that can trigger a callback function

◆ https_client_status_t

Status of HTTP Client