40 #include <ti/drivers/net/wifi/simplelink.h> 41 #include <ti/net/http/httpclient.h> 42 #include <ti/net/utils/str_mpl.h> 45 #include <ti/net/atcmd/atcmd_defs.h> 46 #include <ti/net/atcmd/atcmd.h> 47 #include <ti/net/atcmd/atcmd_http.h> 48 #include <ti/net/atcmd/atcmd_gen.h> 49 #include <ti/net/atcmd/atcmd_event.h> 56 #define ATCMDHTTP_CONNECT_MAX_HOST_NAME (430) 61 typedef struct _ATCmdHttp_Connect_t_
65 HTTPClient_extSecParams exSecParams;
68 typedef struct _ATCmdHttp_SendReq_t_
78 typedef struct _ATCmdHttp_RespBody_t_
85 }ATCmdHttp_RespBody_t;
87 typedef struct _ATCmdHttp_Header_t_
97 typedef struct _ATCmdHttp_Opt_t_
105 typedef struct _ATCmdHttp_Proxy_t_
107 SlNetSock_Addr_t addr;
114 HTTPClient_Handle ATCmdHttp_mapHanlde[SL_MAX_SOCKETS] = {0};
123 int32_t ATCmdHttp_findAvailableIndex(
void)
127 while ((ATCmdHttp_mapHanlde[index] != 0) && (index < SL_MAX_SOCKETS))
131 if (index == SL_MAX_SOCKETS)
141 HTTPClient_Handle ATCmdHttp_clientIndexParse(
char **buff, uint32_t *index,
char delim)
143 HTTPClient_Handle handle;
146 if (StrMpl_getVal(buff, index ,delim, STRMPL_FLAG_PARAM_SIZE_32) < 0)
150 if (*index >= SL_MAX_SOCKETS)
155 handle = ATCmdHttp_mapHanlde[*index];
164 int32_t ATCmdHttp_createResult(
void *args, int32_t num,
char *buff)
167 StrMpl_setStr(ATCmd_httpCreateStr,&buff,ATCMD_DELIM_EVENT);
168 StrMpl_setVal(&num,&buff,ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_DEC|STRMPL_FLAG_PARAM_UNSIGNED);
180 HTTPClient_Handle handle;
183 handle = HTTPClient_create(&ret, NULL);
187 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
192 index = ATCmdHttp_findAvailableIndex();
195 HTTPClient_destroy(handle);
196 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
201 ATCmdHttp_mapHanlde[index] = handle;
202 ATCmd_commandResult(ATCmdHttp_createResult,NULL,index);
216 HTTPClient_Handle handle;
219 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_TRM);
222 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
226 ret = HTTPClient_destroy(handle);
230 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
234 ATCmdHttp_mapHanlde[index] = 0;
243 int32_t ATCmdHttp_connectFree(ATCmdHttp_Connect_t *params)
246 if (params->hostName != NULL)
248 free(params->hostName);
250 if (params->exSecParams.clientCert != NULL)
252 free((
void *)params->exSecParams.clientCert);
254 if (params->exSecParams.privateKey != NULL)
256 free((
void *)params->exSecParams.privateKey);
258 if (params->exSecParams.rootCa != NULL)
260 free((
void *)params->exSecParams.rootCa);
269 int32_t ATCmdHttp_connectParse(
char *buff, ATCmdHttp_Connect_t *params)
274 if ((ret = StrMpl_getAllocStr(&buff, ¶ms->hostName, ATCMD_DELIM_ARG, ATCMDHTTP_CONNECT_MAX_HOST_NAME ,ATCmd_excludeDelimStr)) < 0)
280 if ((ret = StrMpl_getBitmaskListVal(ATCmd_httpConnectFlags,
sizeof(ATCmd_httpConnectFlags)/
sizeof(StrMpl_List_t), &buff, ¶ms->flags, ATCMD_DELIM_ARG, ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
282 if (ret != STRMPL_ERROR_PARAM_MISSING)
288 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->exSecParams.privateKey, ATCMD_DELIM_ARG, 0xFF ,ATCmd_excludeDelimStr)) < 0)
290 if (ret != STRMPL_ERROR_PARAM_MISSING)
296 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->exSecParams.clientCert, ATCMD_DELIM_ARG, 0xFF ,ATCmd_excludeDelimStr)) < 0)
298 if (ret != STRMPL_ERROR_PARAM_MISSING)
304 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->exSecParams.rootCa, ATCMD_DELIM_TRM, 0xFF ,ATCmd_excludeDelimStr)) < 0)
306 if (ret != STRMPL_ERROR_PARAM_MISSING)
323 HTTPClient_Handle handle;
324 ATCmdHttp_Connect_t params;
326 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_ARG);
329 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
332 memset(¶ms,0,
sizeof(ATCmdHttp_Connect_t));
333 ret = ATCmdHttp_connectParse((
char *)arg,¶ms);
337 ATCmd_errorResult(ATCmd_errorParseStr,ret);
338 ATCmdHttp_connectFree(¶ms);
341 ret = HTTPClient_connect(handle,params.hostName,¶ms.exSecParams,params.flags);
345 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
352 ATCmdHttp_connectFree(¶ms);
363 HTTPClient_Handle handle;
365 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_TRM);
368 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
371 ret = HTTPClient_disconnect(handle);
375 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
388 int32_t ATCmdHttp_sendReqFree(ATCmdHttp_SendReq_t *params)
390 if (params->requestURI != NULL)
392 free(params->requestURI);
395 if (params->body!= NULL)
407 int32_t ATCmdHttp_sendReqParse(
char *buff, ATCmdHttp_SendReq_t *params)
410 uint16_t outputLen = 0;
414 if ((ret = StrMpl_getListVal(ATCmd_httpSendReqMethod,
sizeof(ATCmd_httpSendReqMethod)/
sizeof(StrMpl_List_t), &buff, &method, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
420 case ATCMDHTTP_METHOD_GET:
421 params->method = (
char *)HTTP_METHOD_GET;
423 case ATCMDHTTP_METHOD_POST:
424 params->method = (
char *)HTTP_METHOD_POST;
426 case ATCMDHTTP_METHOD_HEAD:
427 params->method = (
char *)HTTP_METHOD_HEAD;
429 case ATCMDHTTP_METHOD_OPTIONS:
430 params->method = (
char *)HTTP_METHOD_OPTIONS;
432 case ATCMDHTTP_METHOD_PUT:
433 params->method = (
char *)HTTP_METHOD_PUT;
435 case ATCMDHTTP_METHOD_DELETE:
436 params->method = (
char *)HTTP_METHOD_DELETE;
438 case ATCMDHTTP_METHOD_CONNECT:
439 params->method = (
char *)HTTP_METHOD_CONNECT;
443 if ((ret = StrMpl_getAllocStr(&buff, (
char **)&(params->requestURI), ATCMD_DELIM_ARG, 0xFFFF ,ATCmd_excludeDelimStr)) < 0)
449 if ((ret = StrMpl_getBitmaskListVal(ATCmd_httpSendReqFlags,
sizeof(ATCmd_httpSendReqFlags)/
sizeof(StrMpl_List_t), &buff, ¶ms->flags, ATCMD_DELIM_ARG, ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
451 if (ret != STRMPL_ERROR_PARAM_MISSING)
458 if ((ret = StrMpl_getVal(&buff, ¶ms->bodyFormat , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
460 if (ret != STRMPL_ERROR_PARAM_MISSING)
464 params->bodyFormat = 0;
468 if ((ret = StrMpl_getVal(&buff, ¶ms->bodyLen, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
470 if ((ret != STRMPL_ERROR_PARAM_MISSING) ||
471 ((ret == STRMPL_ERROR_PARAM_MISSING) &&
472 ((params->method == HTTP_METHOD_POST) ||
473 (params->method == HTTP_METHOD_PUT))))
481 if(params->bodyLen > 0)
484 if (params->bodyFormat == ATCMD_DATA_FORMAT_BASE64)
487 outputLen = StrMpl_getBase64DecBufSize((uint8_t *)buff,params->bodyLen);
488 params->body = malloc(outputLen);
489 if (params->body == NULL)
493 if (StrMpl_decodeBase64((uint8_t *)buff, params->bodyLen, (uint8_t *)params->body, (uint32_t *)&outputLen) < 0)
497 params->bodyLen = outputLen;
501 params->body = malloc(params->bodyLen);
502 if (params->body == NULL)
507 memcpy(params->body, buff, params->bodyLen);
516 int32_t ATCmdHttp_sendReqResult(
void *args, int32_t num,
char *buff)
519 StrMpl_setStr(ATCmd_httpSendReqStr,&buff,ATCMD_DELIM_EVENT);
520 StrMpl_setVal(&num,&buff,ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16|STRMPL_FLAG_PARAM_DEC|STRMPL_FLAG_PARAM_SIGNED);
531 ATCmdHttp_SendReq_t params;
533 HTTPClient_Handle handle;
535 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_ARG);
538 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
541 memset(¶ms, 0x0,
sizeof(ATCmdHttp_SendReq_t));
544 ret = ATCmdHttp_sendReqParse((
char *)arg,¶ms);
548 ATCmd_errorResult(ATCmd_errorParseStr,ret);
549 ATCmdHttp_sendReqFree(¶ms);
552 ret = HTTPClient_sendRequest(handle,params.method,params.requestURI,params.body,params.bodyLen,params.flags);
556 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
560 ATCmd_commandResult(ATCmdHttp_sendReqResult,NULL,ret);
564 ATCmdHttp_sendReqFree(¶ms);
572 int32_t ATCmdHttp_respBodyFree(ATCmdHttp_RespBody_t *params)
576 if (params->body!= NULL)
589 int32_t ATCmdHttp_respBodyParse(
char *buff, ATCmdHttp_RespBody_t *params)
594 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
600 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
611 int32_t ATCmdHttp_respBodyResult(
void *args, int32_t num,
char *buff)
613 ATCmdHttp_RespBody_t *params = (ATCmdHttp_RespBody_t *)args;
616 StrMpl_setStr(ATCmd_httpReadResBodyStr,&buff,ATCMD_DELIM_EVENT);
619 StrMpl_setVal(¶ms->index, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
622 StrMpl_setVal(¶ms->moreDataflag, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
625 StrMpl_setVal(¶ms->format, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
627 outputLen = params->len;
628 if (params->format == ATCMD_DATA_FORMAT_BASE64)
631 outputLen = StrMpl_getBase64EncBufSize(params->len);
634 StrMpl_setVal(&outputLen,&buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
637 if (params->format == ATCMD_DATA_FORMAT_BASE64)
640 StrMpl_encodeBase64((uint8_t *)params->body, params->len, (uint8_t *)buff, &outputLen);
644 memcpy(buff,params->body,params->len);
646 ATCmdHttp_respBodyFree(params);
657 ATCmdHttp_RespBody_t *params;
658 HTTPClient_Handle handle;
660 params = malloc(
sizeof(ATCmdHttp_RespBody_t));
663 ATCmd_errorResult(ATCmd_errorAllocStr,ret);
666 memset(params, 0x0,
sizeof(ATCmdHttp_RespBody_t));
668 handle = ATCmdHttp_clientIndexParse((
char **)&arg,¶ms->index,ATCMD_DELIM_ARG);
671 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
672 ATCmdHttp_respBodyFree(params);
678 ret = ATCmdHttp_respBodyParse((
char *)arg,params);
682 ATCmd_errorResult(ATCmd_errorParseStr,ret);
683 ATCmdHttp_respBodyFree(params);
687 params->body = malloc (params->len);
688 if (params->body == NULL)
690 ATCmd_errorResult(ATCmd_errorAllocStr,0);
691 ATCmdHttp_respBodyFree(params);
695 ret = HTTPClient_readResponseBody(handle, params->body, params->len, (
bool *)¶ms->moreDataflag);
699 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
700 ATCmdHttp_respBodyFree(params);
705 ATCmd_commandResult(ATCmdHttp_respBodyResult,params,0);
717 int32_t ATCmdHttp_setHeaderFree(ATCmdHttp_Header_t *params)
719 if (params->value != NULL)
729 int32_t ATCmdHttp_setHeaderParse(
char *buff, ATCmdHttp_Header_t *params)
732 uint16_t outputLen = 0;
735 if ((ret = StrMpl_getListVal(ATCmd_httpHeaderOption,
sizeof(ATCmd_httpHeaderOption)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
741 if ((ret = StrMpl_getListVal(ATCmd_httpSetHeaderFlags,
sizeof(ATCmd_httpSetHeaderFlags)/
sizeof(StrMpl_List_t), &buff, ¶ms->flags, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
747 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
753 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
755 if (ret != STRMPL_ERROR_PARAM_MISSING)
766 if (params->format == ATCMD_DATA_FORMAT_BASE64)
769 outputLen = StrMpl_getBase64DecBufSize((uint8_t *)buff,params->len);
770 params->value = malloc(outputLen);
771 if (params->value == NULL)
775 if (StrMpl_decodeBase64((uint8_t *)buff, params->len, params->value, (uint32_t *)&outputLen) < 0)
779 params->len = outputLen;
784 params->value = malloc(params->len+1);
785 if (params->value == NULL)
790 memcpy(params->value, buff, params->len);
791 ((
char *)(params->value))[params->len] =
'\0';
793 params->len = params->len + 1;
798 params->value = NULL;
810 ATCmdHttp_Header_t params;
811 HTTPClient_Handle handle;
813 handle = ATCmdHttp_clientIndexParse((
char **)&arg,¶ms.index,ATCMD_DELIM_ARG);
816 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
820 memset(¶ms, 0x0,
sizeof(ATCmdHttp_Header_t));
823 ret = ATCmdHttp_setHeaderParse((
char *)arg, ¶ms);
827 ATCmd_errorResult(ATCmd_errorParseStr,ret);
828 ATCmdHttp_setHeaderFree(¶ms);
832 ret = HTTPClient_setHeader(handle,params.option,params.value,params.len,params.flags);
836 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
843 ATCmdHttp_setHeaderFree(¶ms);
851 int32_t ATCmdHttp_getHeaderFree(ATCmdHttp_Header_t *params)
855 if (params->value != NULL)
868 int32_t ATCmdHttp_getHeaderParse(
char *buff, ATCmdHttp_Header_t *params)
873 if ((ret = StrMpl_getListVal(ATCmd_httpHeaderOption,
sizeof(ATCmd_httpHeaderOption)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
879 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
885 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
896 int32_t ATCmdHttp_getHeaderResult(
void *args, int32_t num,
char *buff)
898 ATCmdHttp_Header_t *params = (ATCmdHttp_Header_t *)args;
901 StrMpl_setStr(ATCmd_httpGetHeaderStr,&buff,ATCMD_DELIM_EVENT);
904 StrMpl_setVal(¶ms->index, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
907 StrMpl_setVal(¶ms->format, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
909 outputLen = params->len;
910 if (params->format == ATCMD_DATA_FORMAT_BASE64)
913 outputLen = StrMpl_getBase64EncBufSize(params->len);
916 StrMpl_setVal(&outputLen,&buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
919 if (params->format == ATCMD_DATA_FORMAT_BASE64)
922 StrMpl_encodeBase64((uint8_t *)params->value, params->len, (uint8_t *)buff, &outputLen);
926 memcpy(buff,params->value,params->len);
928 ATCmdHttp_getHeaderFree(params);
939 ATCmdHttp_Header_t *params;
940 HTTPClient_Handle handle;
942 params = malloc(
sizeof(ATCmdHttp_Header_t));
945 ATCmd_errorResult(ATCmd_errorAllocStr,ret);
948 memset(params, 0x0,
sizeof(ATCmdHttp_Header_t));
950 handle = ATCmdHttp_clientIndexParse((
char **)&arg,¶ms->index,ATCMD_DELIM_ARG);
953 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
954 ATCmdHttp_getHeaderFree(params);
960 ret = ATCmdHttp_getHeaderParse((
char *)arg,params);
964 ATCmd_errorResult(ATCmd_errorParseStr,ret);
965 ATCmdHttp_getHeaderFree(params);
969 params->value = malloc (params->len);
970 if (params->value == NULL)
972 ATCmd_errorResult(ATCmd_errorAllocStr,0);
973 ATCmdHttp_getHeaderFree(params);
977 ret = HTTPClient_getHeader(handle, params->option, params->value, ¶ms->len, params->flags);
981 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
982 ATCmdHttp_getHeaderFree(params);
986 ATCmd_commandResult(ATCmdHttp_getHeaderResult,params,0);
997 int32_t ATCmdHttp_setOptParse(
char *buff, ATCmdHttp_Opt_t *params)
1002 if ((ret = StrMpl_getListVal(ATCmd_httpOptOption,
sizeof(ATCmd_httpOptOption)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
1008 if ((ret = StrMpl_getVal(&buff, ¶ms->value, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1023 ATCmdHttp_Opt_t params;
1025 HTTPClient_Handle handle;
1027 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_ARG);
1030 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
1034 memset(¶ms, 0x0,
sizeof(ATCmdHttp_Opt_t));
1037 ret = ATCmdHttp_setOptParse((
char *)arg, ¶ms);
1041 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1045 ret = HTTPClient_setOpt(handle,params.option,(
void *)¶ms.value,params.len,params.flags);
1049 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
1062 int32_t ATCmdHttp_setProxyParse(
char *buff, ATCmdHttp_Proxy_t *params)
1065 void *addr = ¶ms->addr;
1069 if ((ret = StrMpl_getListVal(ATCmd_sockDomain,
sizeof(ATCmd_sockDomain)/
sizeof(StrMpl_List_t), &buff, ¶ms->addr.sa_family, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1074 if (params->addr.sa_family == SL_AF_INET)
1077 if ((ret = StrMpl_getVal(&buff, &((SlSockAddrIn_t *)(addr))->sin_port, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1081 ((SlSockAddrIn_t *)(addr))->sin_port = sl_Htons(((SlSockAddrIn_t *)(addr))->sin_port);
1083 if ((ret = StrMpl_getArrayVal(&buff,(
void *)ip, 4, ATCMD_DELIM_TRM, ATCMD_DELIM_INTER, STRMPL_FLAG_PARAM_SIZE_8 ,ATCmd_excludeDelimArray)) < 0)
1087 ((SlSockAddrIn_t *)(addr))->sin_addr.s_addr = sl_Htonl(SL_IPV4_VAL(ip[0],ip[1],ip[2],ip[3]));
1089 else if (params->addr.sa_family == SL_AF_INET6)
1092 if ((ret = StrMpl_getVal(&buff, &((SlSockAddrIn6_t *)(addr))->sin6_port, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1096 ((SlSockAddrIn6_t *)(addr))->sin6_port = sl_Htons(((SlSockAddrIn6_t *)(addr))->sin6_port);
1098 if ((ret = StrMpl_getArrayVal(&buff, (
void *)(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32), 4, ATCMD_DELIM_TRM, ATCMD_DELIM_ARRAY,STRMPL_FLAG_PARAM_SIZE_32,ATCmd_excludeDelimArray)) < 0)
1102 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[0] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[0]);
1103 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[1] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[1]);
1104 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[2] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[2]);
1105 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[3] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[3]);
1118 ATCmdHttp_Proxy_t params;
1120 memset(¶ms, 0x0,
sizeof(ATCmdHttp_Proxy_t));
1123 ret = ATCmdHttp_setProxyParse((
char *)arg, ¶ms);
1127 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1131 HTTPClient_setProxy(¶ms.addr);
int32_t ATCmdHttp_setHeaderCallback(void *arg)
Http Client Set header callback.
int32_t ATCmdHttp_disconnectCallback(void *arg)
Http Client Disconnect callback.
int32_t ATCmdHttp_sendReqCallback(void *arg)
Http Client send request callback.
int32_t ATCmdHttp_getHeaderCallback(void *arg)
Http Client Get header callback.
int32_t ATCmdHttp_setProxyCallback(void *arg)
Http Client Set proxy callback.
int32_t ATCmdHttp_connectCallback(void *arg)
Http Client Connect callback.
int32_t ATCmdHttp_createCallback(void *arg)
Http Client Create callback.
int32_t ATCmdHttp_destroyCallback(void *arg)
Http Client destroy callback.
int32_t ATCmdHttp_respBodyCallback(void *arg)
Http Client response callback.
int32_t ATCmdHttp_setOptCallback(void *arg)
Http Client Set callback.