56 #ifndef ti_net_http_HTTPClient__include 57 #define ti_net_http_HTTPClient__include 70 #define HTTPClient_DOMAIN_BUFLEN (100) 73 #define HTTPClient_RES_HFIELD_BUFFER_SIZE (300) 76 #define HTTPClient_MIN_USER_WORKSPACE_SIZE (500) 77 #define HTTPClient_MAX_REDIRECTION_ATTEMPTS (3) 78 #define HTTPClient_MAX_REQUEST_ATTEMPTS (2) 79 #define HTTPClient_MAX_RESPONSE_HEADER_FILEDS (25) 81 #define HTTPClient_PORT (80) 82 #define HTTPClient_SECURE_PORT (443) 85 #define HTTPClient_HFIELD_RES_AGE (0) 86 #define HTTPClient_HFIELD_RES_ALLOW (1) 87 #define HTTPClient_HFIELD_RES_CACHE_CONTROL (2) 88 #define HTTPClient_HFIELD_RES_CONNECTION (3) 89 #define HTTPClient_HFIELD_RES_CONTENT_ENCODING (4) 90 #define HTTPClient_HFIELD_RES_CONTENT_LANGUAGE (5) 91 #define HTTPClient_HFIELD_RES_CONTENT_LENGTH (6) 92 #define HTTPClient_HFIELD_RES_CONTENT_LOCATION (7) 93 #define HTTPClient_HFIELD_RES_CONTENT_RANGE (8) 94 #define HTTPClient_HFIELD_RES_CONTENT_TYPE (9) 95 #define HTTPClient_HFIELD_RES_DATE (10) 96 #define HTTPClient_HFIELD_RES_ETAG (11) 97 #define HTTPClient_HFIELD_RES_EXPIRES (12) 98 #define HTTPClient_HFIELD_RES_LAST_MODIFIED (13) 99 #define HTTPClient_HFIELD_RES_LOCATION (14) 100 #define HTTPClient_HFIELD_RES_PROXY_AUTHENTICATE (15) 101 #define HTTPClient_HFIELD_RES_RETRY_AFTER (16) 102 #define HTTPClient_HFIELD_RES_SERVER (17) 103 #define HTTPClient_HFIELD_RES_SET_COOKIE (18) 104 #define HTTPClient_HFIELD_RES_TRAILER (19) 105 #define HTTPClient_HFIELD_RES_TRANSFER_ENCODING (20) 106 #define HTTPClient_HFIELD_RES_UPGRADE (21) 107 #define HTTPClient_HFIELD_RES_VARY (22) 108 #define HTTPClient_HFIELD_RES_VIA (23) 109 #define HTTPClient_HFIELD_RES_WWW_AUTHENTICATE (24) 110 #define HTTPClient_HFIELD_RES_WARNING (25) 112 #define HTTPClient_REQUEST_HEADER_MASK (0x80000000) 115 #define HTTPClient_HFIELD_REQ_ACCEPT (26 | HTTPClient_REQUEST_HEADER_MASK) 116 #define HTTPClient_HFIELD_REQ_ACCEPT_CHARSET (27 | HTTPClient_REQUEST_HEADER_MASK) 117 #define HTTPClient_HFIELD_REQ_ACCEPT_ENCODING (28 | HTTPClient_REQUEST_HEADER_MASK) 118 #define HTTPClient_HFIELD_REQ_ACCEPT_LANGUAGE (29 | HTTPClient_REQUEST_HEADER_MASK) 119 #define HTTPClient_HFIELD_REQ_ALLOW (HTTPClient_HFIELD_RES_ALLOW | HTTPClient_REQUEST_HEADER_MASK) 120 #define HTTPClient_HFIELD_REQ_AUTHORIZATION (30 | HTTPClient_REQUEST_HEADER_MASK) 121 #define HTTPClient_HFIELD_REQ_CACHE_CONTROL (HTTPClient_HFIELD_RES_CACHE_CONTROL | HTTPClient_REQUEST_HEADER_MASK) 122 #define HTTPClient_HFIELD_REQ_CONNECTION (HTTPClient_HFIELD_RES_CONNECTION | HTTPClient_REQUEST_HEADER_MASK) 123 #define HTTPClient_HFIELD_REQ_CONTENT_ENCODING (HTTPClient_HFIELD_RES_CONTENT_ENCODING | HTTPClient_REQUEST_HEADER_MASK) 124 #define HTTPClient_HFIELD_REQ_CONTENT_LANGUAGE (HTTPClient_HFIELD_RES_CONTENT_LANGUAGE | HTTPClient_REQUEST_HEADER_MASK) 125 #define HTTPClient_HFIELD_REQ_CONTENT_LOCATION (HTTPClient_HFIELD_RES_CONTENT_LOCATION | HTTPClient_REQUEST_HEADER_MASK) 126 #define HTTPClient_HFIELD_REQ_CONTENT_TYPE (HTTPClient_HFIELD_RES_CONTENT_TYPE | HTTPClient_REQUEST_HEADER_MASK) 127 #define HTTPClient_HFIELD_REQ_COOKIE (31 | HTTPClient_REQUEST_HEADER_MASK) 128 #define HTTPClient_HFIELD_REQ_DATE (HTTPClient_HFIELD_RES_DATE | HTTPClient_REQUEST_HEADER_MASK) 129 #define HTTPClient_HFIELD_REQ_EXPECT (32 | HTTPClient_REQUEST_HEADER_MASK) 130 #define HTTPClient_HFIELD_REQ_FORWARDED (33 | HTTPClient_REQUEST_HEADER_MASK) 131 #define HTTPClient_HFIELD_REQ_FROM (34 | HTTPClient_REQUEST_HEADER_MASK) 132 #define HTTPClient_HFIELD_REQ_HOST (35 | HTTPClient_REQUEST_HEADER_MASK) 133 #define HTTPClient_HFIELD_REQ_IF_MATCH (36 | HTTPClient_REQUEST_HEADER_MASK) 134 #define HTTPClient_HFIELD_REQ_IF_MODIFIED_SINCE (37 | HTTPClient_REQUEST_HEADER_MASK) 135 #define HTTPClient_HFIELD_REQ_IF_NONE_MATCH (38 | HTTPClient_REQUEST_HEADER_MASK) 136 #define HTTPClient_HFIELD_REQ_IF_RANGE (39 | HTTPClient_REQUEST_HEADER_MASK) 137 #define HTTPClient_HFIELD_REQ_IF_UNMODIFIED_SINCE (40 | HTTPClient_REQUEST_HEADER_MASK) 138 #define HTTPClient_HFIELD_REQ_ORIGIN (41 | HTTPClient_REQUEST_HEADER_MASK) 139 #define HTTPClient_HFIELD_REQ_PROXY_AUTHORIZATION (42 | HTTPClient_REQUEST_HEADER_MASK) 140 #define HTTPClient_HFIELD_REQ_RANGE (43 | HTTPClient_REQUEST_HEADER_MASK) 141 #define HTTPClient_HFIELD_REQ_TE (44 | HTTPClient_REQUEST_HEADER_MASK) 142 #define HTTPClient_HFIELD_REQ_TRANSFER_ENCODING (HTTPClient_HFIELD_RES_TRANSFER_ENCODING | HTTPClient_REQUEST_HEADER_MASK) 143 #define HTTPClient_HFIELD_REQ_UPGRADE (HTTPClient_HFIELD_RES_UPGRADE | HTTPClient_REQUEST_HEADER_MASK) 144 #define HTTPClient_HFIELD_REQ_USER_AGENT (45 | HTTPClient_REQUEST_HEADER_MASK) 145 #define HTTPClient_HFIELD_REQ_VIA (HTTPClient_HFIELD_RES_VIA | HTTPClient_REQUEST_HEADER_MASK) 146 #define HTTPClient_HFIELD_REQ_WARNING (HTTPClient_HFIELD_RES_WARNING | HTTPClient_REQUEST_HEADER_MASK) 148 #define HTTPClient_MAX_NUMBER_OF_HEADER_FIELDS (46) 152 #define HTTPClient_REDIRECT_FEATURE (48) 155 #define HTTPClient_RESPONSE_FILTER_CLEAR (49) 158 #define HTTPClient_REDIRECT_TLS_DOWNGRADE (50) 164 #define HTTPClient_AUTHENTICATE_SERVER_CALLBACK (51) 173 #define HTTPClient_ESENDBUFSMALL (-3001) 178 #define HTTPClient_EGETOPTBUFSMALL (-3002) 183 #define HTTPClient_ERESPONSEINVALID (-3003) 188 #define HTTPClient_EINPROGRESS (-3004) 197 #define HTTPClient_EDOMAINBUFSMALL (-3005) 204 #define HTTPClient_ECBALLOCATIONFAILED (-3006) 213 #define HTTPClient_EBODYBUFSMALL (-3008) 220 #define HTTPClient_ENULLPOINTER (-3009) 225 #define HTTPClient_EREQUESTHEADERALLOCFAILED (-3010) 230 #define HTTPClient_EREQHEADERNOTFOUND (-3011) 237 #define HTTPClient_EHOSTNOTFOUND (-3012) 242 #define HTTPClient_ECLIENTALREADYCONNECTED (-3013) 247 #define HTTPClient_ERESPONSEISNOTREDIRECTABLE (-3014) 252 #define HTTPClient_ESENDERROR (-3015) 263 #define HTTPClient_EREDIRECTLOCATIONFAIL (-3016) 272 #define HTTPClient_ETLSDOWNGRADEISFORBIDDEN (-3017) 279 #define HTTPClient_EWRONGAPIPARAMETER (-3018) 288 #define HTTPClient_EHOSTHEADERALREADYEXIST (-3019) 295 #define HTTPClient_ENOCONNECTION (-3020) 303 #define HTTPClient_ENOTABSOLUTEURI (-3021) 310 #define HTTPClient_ECANTCREATESECATTRIB (-3022) 368 #define HTTPClient_IGNORE_PROXY (0x01) 371 #define HTTPClient_HOST_EXIST (0x02) 375 #define HTTPClient_HFIELD_NOT_PERSISTENT (0x01) 378 #define HTTPClient_HFIELD_PERSISTENT (0x02) 382 #define HTTPClient_CHUNK_START (0x01) 385 #define HTTPClient_CHUNK_END (0x02) 388 #define HTTPClient_DROP_BODY (0x04) 520 int16_t
HTTPClient_sendRequest(HTTPClient_Handle client,
const char *method,
const char *requestURI,
const char *body, uint32_t bodyLen, uint32_t flags);
569 int16_t
HTTPClient_setHeader(HTTPClient_Handle client, uint32_t option,
void *value, uint32_t len, uint32_t flags);
600 int16_t
HTTPClient_setHeaderByName(HTTPClient_Handle client, uint32_t option,
const char *name,
void *value, uint32_t len, uint32_t flags);
621 int16_t
HTTPClient_getHeader(HTTPClient_Handle client, uint32_t option,
void *value, uint32_t *len, uint32_t flags);
644 int16_t
HTTPClient_setOpt(HTTPClient_Handle client, uint32_t option,
void *value, uint32_t len, uint32_t flags);
665 int16_t
HTTPClient_getOpt(HTTPClient_Handle client, uint32_t option,
void *value, uint32_t *len ,uint32_t flags);
Definition: httpclient.h:333
const char * HTTP_METHOD_HEAD
Definition: httpclient.h:338
const char * HTTP_METHOD_GET
Definition: httpclient.h:326
Definition: httpclient.h:319
int16_t HTTPClient_connect(HTTPClient_Handle client, const char *hostName, HTTPClient_extSecParams *exSecParams, uint32_t flags)
Open a connection to an HTTP server. A user can connect to a HTTP server using TLS,proxy or both.
Definition: httpclient.h:323
Definition: httpclient.h:339
Definition: httpclient.h:360
Definition: httpclient.h:329
int16_t HTTPClient_destroy(HTTPClient_Handle client)
Destroy the HTTP client instance and free the previously allocated instance object.
struct HTTPClient_extSecParams HTTPClient_extSecParams
int16_t HTTPClient_getOpt(HTTPClient_Handle client, uint32_t option, void *value, uint32_t *len, uint32_t flags)
Getting HTTP Client configurations.
Definition: httpclient.h:340
Definition: httpclient.h:324
Definition: httpclient.h:320
HTTP_STATUS_CODE
Definition: httpclient.h:313
int16_t HTTPClient_disconnect(HTTPClient_Handle client)
Disconnect from the HTTP server.
Definition: httpclient.h:335
Definition: httpclient.h:351
const char * HTTP_METHOD_OPTIONS
Definition: httpclient.h:322
Definition: httpclient.h:334
Definition: httpclient.h:358
IpV4 socket address.
Definition: slnetsock.h:653
Definition: httpclient.h:357
Definition: httpclient.h:321
int16_t HTTPClient_sendRequest(HTTPClient_Handle client, const char *method, const char *requestURI, const char *body, uint32_t bodyLen, uint32_t flags)
Make an HTTP request to the HTTP server.
int16_t HTTPClient_setOpt(HTTPClient_Handle client, uint32_t option, void *value, uint32_t len, uint32_t flags)
Setting HTTP Client configurations.
Definition: httpclient.h:341
const char * clientCert
Definition: httpclient.h:404
const char * HTTP_METHOD_CONNECT
Definition: httpclient.h:348
const char * HTTP_METHOD_DELETE
Definition: httpclient.h:328
Definition: httpclient.h:349
int16_t HTTPClient_getHeader(HTTPClient_Handle client, uint32_t option, void *value, uint32_t *len, uint32_t flags)
Getting HTTP Client Header-field configurations.
Definition: httpclient.h:362
Definition: httpclient.h:343
Definition: httpclient.h:318
Definition: httpclient.h:356
Definition: httpclient.h:317
void HTTPClient_setProxy(const SlNetSock_Addr_t *addr)
Set the proxy address.
int16_t HTTPClient_setHeaderByName(HTTPClient_Handle client, uint32_t option, const char *name, void *value, uint32_t len, uint32_t flags)
Setting HTTP Client Header-field configurations by header name. Both standard (as defined by the HTTP...
Definition: httpclient.h:350
void * HTTPClient_Handle
Definition: httpclient.h:428
Definition: httpclient.h:342
int16_t HTTPClient_setHeader(HTTPClient_Handle client, uint32_t option, void *value, uint32_t len, uint32_t flags)
Setting HTTP Client Header-field configurations.
Definition: httpclient.h:355
HTTPClient_Handle HTTPClient_create(int16_t *status, void *params)
Allocate and initialize a new HTTPClient instance object and return its handle.
int16_t HTTPClient_readResponseBody(HTTPClient_Handle client, char *body, uint32_t bodyLen, bool *moreDataFlag)
Read the response body data from the HTTP server The function handles both oneshot and chunked body r...
Definition: httpclient.h:331
const char * privateKey
Definition: httpclient.h:403
const char * rootCa
Definition: httpclient.h:405
Definition: httpclient.h:327
Definition: httpclient.h:346
Definition: httpclient.h:330
Definition: httpclient.h:314
const char * HTTP_METHOD_PUT
const char * HTTP_METHOD_POST
Definition: httpclient.h:352
Definition: httpclient.h:353
Definition: httpclient.h:401
Definition: httpclient.h:344
Definition: httpclient.h:359
Definition: httpclient.h:336
Definition: httpclient.h:315
Definition: httpclient.h:345
Definition: httpclient.h:347
Definition: httpclient.h:337
int16_t(* HTTPClient_authenticationCallback)(const char *serverAuthBuff, uint32_t serverAuthLen, char *clientAuthBuff, uint32_t *clientAuthLen)
HTTPClient callback for server authentication handling This function is responsible for generating th...
Definition: httpclient.h:426