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 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
200 ATCmdHttp_mapHanlde[index] = handle;
201 ATCmd_commandResult(ATCmdHttp_createResult,NULL,index);
215 HTTPClient_Handle handle;
218 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_TRM);
221 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
225 ret = HTTPClient_destroy(handle);
229 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
233 ATCmdHttp_mapHanlde[index] = 0;
242 int32_t ATCmdHttp_connectFree(ATCmdHttp_Connect_t *params)
245 if (params->hostName != NULL)
247 free(params->hostName);
249 if (params->exSecParams.clientCert != NULL)
251 free((
void *)params->exSecParams.clientCert);
253 if (params->exSecParams.privateKey != NULL)
255 free((
void *)params->exSecParams.privateKey);
257 if (params->exSecParams.rootCa != NULL)
259 free((
void *)params->exSecParams.rootCa);
268 int32_t ATCmdHttp_connectParse(
char *buff, ATCmdHttp_Connect_t *params)
273 if ((ret = StrMpl_getAllocStr(&buff, ¶ms->hostName, ATCMD_DELIM_ARG, ATCMDHTTP_CONNECT_MAX_HOST_NAME ,ATCmd_excludeDelimStr)) < 0)
279 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)
281 if (ret != STRMPL_ERROR_PARAM_MISSING)
287 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->exSecParams.privateKey, ATCMD_DELIM_ARG, 0xFF ,ATCmd_excludeDelimStr)) < 0)
289 if (ret != STRMPL_ERROR_PARAM_MISSING)
295 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->exSecParams.clientCert, ATCMD_DELIM_ARG, 0xFF ,ATCmd_excludeDelimStr)) < 0)
297 if (ret != STRMPL_ERROR_PARAM_MISSING)
303 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->exSecParams.rootCa, ATCMD_DELIM_TRM, 0xFF ,ATCmd_excludeDelimStr)) < 0)
305 if (ret != STRMPL_ERROR_PARAM_MISSING)
322 HTTPClient_Handle handle;
323 ATCmdHttp_Connect_t params;
325 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_ARG);
328 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
331 memset(¶ms,0,
sizeof(ATCmdHttp_Connect_t));
332 ret = ATCmdHttp_connectParse((
char *)arg,¶ms);
336 ATCmd_errorResult(ATCmd_errorParseStr,ret);
337 ATCmdHttp_connectFree(¶ms);
340 ret = HTTPClient_connect(handle,params.hostName,¶ms.exSecParams,params.flags);
344 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
351 ATCmdHttp_connectFree(¶ms);
362 HTTPClient_Handle handle;
364 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_TRM);
367 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
370 ret = HTTPClient_disconnect(handle);
374 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
387 int32_t ATCmdHttp_sendReqFree(ATCmdHttp_SendReq_t *params)
389 if (params->requestURI != NULL)
391 free(params->requestURI);
394 if (params->body!= NULL)
406 int32_t ATCmdHttp_sendReqParse(
char *buff, ATCmdHttp_SendReq_t *params)
409 uint16_t outputLen = 0;
413 if ((ret = StrMpl_getListVal(ATCmd_httpSendReqMethod,
sizeof(ATCmd_httpSendReqMethod)/
sizeof(StrMpl_List_t), &buff, &method, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
419 case ATCMDHTTP_METHOD_GET:
420 params->method = (
char *)HTTP_METHOD_GET;
422 case ATCMDHTTP_METHOD_POST:
423 params->method = (
char *)HTTP_METHOD_POST;
425 case ATCMDHTTP_METHOD_HEAD:
426 params->method = (
char *)HTTP_METHOD_HEAD;
428 case ATCMDHTTP_METHOD_OPTIONS:
429 params->method = (
char *)HTTP_METHOD_OPTIONS;
431 case ATCMDHTTP_METHOD_PUT:
432 params->method = (
char *)HTTP_METHOD_PUT;
434 case ATCMDHTTP_METHOD_DELETE:
435 params->method = (
char *)HTTP_METHOD_DELETE;
437 case ATCMDHTTP_METHOD_CONNECT:
438 params->method = (
char *)HTTP_METHOD_CONNECT;
442 if ((ret = StrMpl_getAllocStr(&buff, (
char **)&(params->requestURI), ATCMD_DELIM_ARG, 0xFFFF ,ATCmd_excludeDelimStr)) < 0)
448 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)
450 if (ret != STRMPL_ERROR_PARAM_MISSING)
457 if ((ret = StrMpl_getVal(&buff, ¶ms->bodyFormat , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
459 if (ret != STRMPL_ERROR_PARAM_MISSING)
463 params->bodyFormat = 0;
467 if ((ret = StrMpl_getVal(&buff, ¶ms->bodyLen, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
469 if ((ret != STRMPL_ERROR_PARAM_MISSING) ||
470 ((ret == STRMPL_ERROR_PARAM_MISSING) &&
471 ((params->method == HTTP_METHOD_POST) ||
472 (params->method == HTTP_METHOD_PUT))))
480 if(params->bodyLen > 0)
483 if (params->bodyFormat == ATCMD_DATA_FORMAT_BASE64)
486 outputLen = StrMpl_getBase64DecBufSize((uint8_t *)buff,params->bodyLen);
487 params->body = malloc(outputLen);
488 if (params->body == NULL)
492 if (StrMpl_decodeBase64((uint8_t *)buff, params->bodyLen, (uint8_t *)params->body, (uint32_t *)&outputLen) < 0)
496 params->bodyLen = outputLen;
500 params->body = malloc(params->bodyLen);
501 if (params->body == NULL)
506 memcpy(params->body, buff, params->bodyLen);
515 int32_t ATCmdHttp_sendReqResult(
void *args, int32_t num,
char *buff)
518 StrMpl_setStr(ATCmd_httpSendReqStr,&buff,ATCMD_DELIM_EVENT);
519 StrMpl_setVal(&num,&buff,ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16|STRMPL_FLAG_PARAM_DEC|STRMPL_FLAG_PARAM_SIGNED);
530 ATCmdHttp_SendReq_t params;
532 HTTPClient_Handle handle;
534 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_ARG);
537 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
540 memset(¶ms, 0x0,
sizeof(ATCmdHttp_SendReq_t));
543 ret = ATCmdHttp_sendReqParse((
char *)arg,¶ms);
547 ATCmd_errorResult(ATCmd_errorParseStr,ret);
548 ATCmdHttp_sendReqFree(¶ms);
551 ret = HTTPClient_sendRequest(handle,params.method,params.requestURI,params.body,params.bodyLen,params.flags);
555 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
559 ATCmd_commandResult(ATCmdHttp_sendReqResult,NULL,ret);
563 ATCmdHttp_sendReqFree(¶ms);
571 int32_t ATCmdHttp_respBodyFree(ATCmdHttp_RespBody_t *params)
575 if (params->body!= NULL)
588 int32_t ATCmdHttp_respBodyParse(
char *buff, ATCmdHttp_RespBody_t *params)
593 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
599 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
610 int32_t ATCmdHttp_respBodyResult(
void *args, int32_t num,
char *buff)
612 ATCmdHttp_RespBody_t *params = (ATCmdHttp_RespBody_t *)args;
615 StrMpl_setStr(ATCmd_httpReadResBodyStr,&buff,ATCMD_DELIM_EVENT);
618 StrMpl_setVal(¶ms->index, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
621 StrMpl_setVal(¶ms->moreDataflag, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
624 StrMpl_setVal(¶ms->format, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
626 outputLen = params->len;
627 if (params->format == ATCMD_DATA_FORMAT_BASE64)
630 outputLen = StrMpl_getBase64EncBufSize(params->len);
633 StrMpl_setVal(&outputLen,&buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
636 if (params->format == ATCMD_DATA_FORMAT_BASE64)
639 StrMpl_encodeBase64((uint8_t *)params->body, params->len, (uint8_t *)buff, &outputLen);
643 memcpy(buff,params->body,params->len);
645 ATCmdHttp_respBodyFree(params);
656 ATCmdHttp_RespBody_t *params;
657 HTTPClient_Handle handle;
659 params = malloc(
sizeof(ATCmdHttp_RespBody_t));
662 ATCmd_errorResult(ATCmd_errorAllocStr,ret);
665 memset(params, 0x0,
sizeof(ATCmdHttp_RespBody_t));
667 handle = ATCmdHttp_clientIndexParse((
char **)&arg,¶ms->index,ATCMD_DELIM_ARG);
670 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
676 ret = ATCmdHttp_respBodyParse((
char *)arg,params);
680 ATCmd_errorResult(ATCmd_errorParseStr,ret);
681 ATCmdHttp_respBodyFree(params);
685 params->body = malloc (params->len);
686 if (params->body == NULL)
688 ATCmd_errorResult(ATCmd_errorAllocStr,0);
689 ATCmdHttp_respBodyFree(params);
693 ret = HTTPClient_readResponseBody(handle, params->body, params->len, (
bool *)¶ms->moreDataflag);
697 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
698 ATCmdHttp_respBodyFree(params);
703 ATCmd_commandResult(ATCmdHttp_respBodyResult,params,0);
715 int32_t ATCmdHttp_setHeaderFree(ATCmdHttp_Header_t *params)
717 if (params->value != NULL)
727 int32_t ATCmdHttp_setHeaderParse(
char *buff, ATCmdHttp_Header_t *params)
730 uint16_t outputLen = 0;
733 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)
739 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)
745 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
751 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
753 if (ret != STRMPL_ERROR_PARAM_MISSING)
764 if (params->format == ATCMD_DATA_FORMAT_BASE64)
767 outputLen = StrMpl_getBase64DecBufSize((uint8_t *)buff,params->len);
768 params->value = malloc(outputLen);
769 if (params->value == NULL)
773 if (StrMpl_decodeBase64((uint8_t *)buff, params->len, params->value, (uint32_t *)&outputLen) < 0)
777 params->len = outputLen;
782 params->value = malloc(params->len+1);
783 if (params->value == NULL)
788 memcpy(params->value, buff, params->len);
789 ((
char *)(params->value))[params->len] =
'\0';
791 params->len = params->len + 1;
796 params->value = NULL;
808 ATCmdHttp_Header_t params;
809 HTTPClient_Handle handle;
811 handle = ATCmdHttp_clientIndexParse((
char **)&arg,¶ms.index,ATCMD_DELIM_ARG);
814 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
818 memset(¶ms, 0x0,
sizeof(ATCmdHttp_Header_t));
821 ret = ATCmdHttp_setHeaderParse((
char *)arg, ¶ms);
825 ATCmd_errorResult(ATCmd_errorParseStr,ret);
826 ATCmdHttp_setHeaderFree(¶ms);
830 ret = HTTPClient_setHeader(handle,params.option,params.value,params.len,params.flags);
834 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
841 ATCmdHttp_setHeaderFree(¶ms);
849 int32_t ATCmdHttp_getHeaderFree(ATCmdHttp_Header_t *params)
853 if (params->value != NULL)
866 int32_t ATCmdHttp_getHeaderParse(
char *buff, ATCmdHttp_Header_t *params)
871 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)
877 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
883 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
894 int32_t ATCmdHttp_getHeaderResult(
void *args, int32_t num,
char *buff)
896 ATCmdHttp_Header_t *params = (ATCmdHttp_Header_t *)args;
899 StrMpl_setStr(ATCmd_httpGetHeaderStr,&buff,ATCMD_DELIM_EVENT);
902 StrMpl_setVal(¶ms->index, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
905 StrMpl_setVal(¶ms->format, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
907 outputLen = params->len;
908 if (params->format == ATCMD_DATA_FORMAT_BASE64)
911 outputLen = StrMpl_getBase64EncBufSize(params->len);
914 StrMpl_setVal(&outputLen,&buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
917 if (params->format == ATCMD_DATA_FORMAT_BASE64)
920 StrMpl_encodeBase64((uint8_t *)params->value, params->len, (uint8_t *)buff, &outputLen);
924 memcpy(buff,params->value,params->len);
926 ATCmdHttp_getHeaderFree(params);
937 ATCmdHttp_Header_t *params;
938 HTTPClient_Handle handle;
940 params = malloc(
sizeof(ATCmdHttp_Header_t));
943 ATCmd_errorResult(ATCmd_errorAllocStr,ret);
946 memset(params, 0x0,
sizeof(ATCmdHttp_Header_t));
948 handle = ATCmdHttp_clientIndexParse((
char **)&arg,¶ms->index,ATCMD_DELIM_ARG);
951 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
957 ret = ATCmdHttp_getHeaderParse((
char *)arg,params);
961 ATCmd_errorResult(ATCmd_errorParseStr,ret);
962 ATCmdHttp_getHeaderFree(params);
966 params->value = malloc (params->len);
967 if (params->value == NULL)
969 ATCmd_errorResult(ATCmd_errorAllocStr,0);
970 ATCmdHttp_getHeaderFree(params);
974 ret = HTTPClient_getHeader(handle, params->option, params->value, ¶ms->len, params->flags);
978 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
979 ATCmdHttp_getHeaderFree(params);
983 ATCmd_commandResult(ATCmdHttp_getHeaderResult,params,0);
994 int32_t ATCmdHttp_setOptParse(
char *buff, ATCmdHttp_Opt_t *params)
999 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)
1005 if ((ret = StrMpl_getVal(&buff, ¶ms->value, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1020 ATCmdHttp_Opt_t params;
1022 HTTPClient_Handle handle;
1024 handle = ATCmdHttp_clientIndexParse((
char **)&arg,&index,ATCMD_DELIM_ARG);
1027 ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
1031 memset(¶ms, 0x0,
sizeof(ATCmdHttp_Opt_t));
1034 ret = ATCmdHttp_setOptParse((
char *)arg, ¶ms);
1038 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1042 ret = HTTPClient_setOpt(handle,params.option,(
void *)¶ms.value,params.len,params.flags);
1046 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
1059 int32_t ATCmdHttp_setProxyParse(
char *buff, ATCmdHttp_Proxy_t *params)
1062 void *addr = ¶ms->addr;
1066 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)
1071 if (params->addr.sa_family == SL_AF_INET)
1074 if ((ret = StrMpl_getVal(&buff, &((SlSockAddrIn_t *)(addr))->sin_port, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1078 ((SlSockAddrIn_t *)(addr))->sin_port = sl_Htons(((SlSockAddrIn_t *)(addr))->sin_port);
1080 if ((ret = StrMpl_getArrayVal(&buff,(
void *)ip, 4, ATCMD_DELIM_TRM, ATCMD_DELIM_INTER, STRMPL_FLAG_PARAM_SIZE_8 ,ATCmd_excludeDelimArray)) < 0)
1084 ((SlSockAddrIn_t *)(addr))->sin_addr.s_addr = sl_Htonl(SL_IPV4_VAL(ip[0],ip[1],ip[2],ip[3]));
1086 else if (params->addr.sa_family == SL_AF_INET6)
1089 if ((ret = StrMpl_getVal(&buff, &((SlSockAddrIn6_t *)(addr))->sin6_port, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1093 ((SlSockAddrIn6_t *)(addr))->sin6_port = sl_Htons(((SlSockAddrIn6_t *)(addr))->sin6_port);
1095 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)
1099 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[0] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[0]);
1100 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[1] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[1]);
1101 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[2] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[2]);
1102 ((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[3] = sl_Htonl(((SlSockAddrIn6_t *)(addr))->sin6_addr._S6_un._S6_u32[3]);
1115 ATCmdHttp_Proxy_t params;
1117 memset(¶ms, 0x0,
sizeof(ATCmdHttp_Proxy_t));
1120 ret = ATCmdHttp_setProxyParse((
char *)arg, ¶ms);
1124 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1128 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.