SimpleLink CC32xx ATCommands Library
Simplifies the implementation of Internet connectivity
Http

Controls HTTP Client programming options and capabilities. More...

Functions

int32_t ATCmdHttp_createCallback (void *arg)
 Http Client Create callback. More...
 
int32_t ATCmdHttp_destroyCallback (void *arg)
 Http Client destroy callback. More...
 
int32_t ATCmdHttp_connectCallback (void *arg)
 Http Client Connect callback. More...
 
int32_t ATCmdHttp_disconnectCallback (void *arg)
 Http Client Disconnect callback. More...
 
int32_t ATCmdHttp_sendReqCallback (void *arg)
 Http Client send request callback. More...
 
int32_t ATCmdHttp_respBodyCallback (void *arg)
 Http Client response callback. More...
 
int32_t ATCmdHttp_setHeaderCallback (void *arg)
 Http Client Set header callback. More...
 
int32_t ATCmdHttp_getHeaderCallback (void *arg)
 Http Client Get header callback. More...
 
int32_t ATCmdHttp_setOptCallback (void *arg)
 Http Client Set callback. More...
 
int32_t ATCmdHttp_setProxyCallback (void *arg)
 Http Client Set proxy callback. More...
 

Detailed Description

Controls HTTP Client programming options and capabilities.

Function Documentation

§ ATCmdHttp_connectCallback()

int32_t ATCmdHttp_connectCallback ( void *  arg)

Http Client Connect callback.

This routine connect to http server.

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 318 of file atcmd_http.c.

319 {
320  int32_t ret = 0;
321  uint32_t index;
322  HTTPClient_Handle handle;
323  ATCmdHttp_Connect_t params;
324 
325  handle = ATCmdHttp_clientIndexParse((char **)&arg,&index,ATCMD_DELIM_ARG);
326  if (handle == NULL)
327  {
328  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
329  return -1;
330  }
331  memset(&params,0,sizeof(ATCmdHttp_Connect_t));
332  ret = ATCmdHttp_connectParse((char *)arg,&params);
333 
334  if(ret < 0)
335  {
336  ATCmd_errorResult(ATCmd_errorParseStr,ret);
337  ATCmdHttp_connectFree(&params);
338  return -1;
339  }
340  ret = HTTPClient_connect(handle,params.hostName,&params.exSecParams,params.flags);
341 
342  if (ret < 0)
343  {
344  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
345  }
346  else
347  {
348  ATCmd_okResult();
349  }
350 
351  ATCmdHttp_connectFree(&params);
352  return ret;
353 }

§ ATCmdHttp_createCallback()

int32_t ATCmdHttp_createCallback ( void *  arg)

Http Client Create callback.

This routine initialize the HTTP client instance.

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 177 of file atcmd_http.c.

178 {
179  int16_t ret;
180  HTTPClient_Handle handle;
181  int32_t index;
182 
183  handle = HTTPClient_create(&ret, NULL);
184 
185  if(ret < 0)
186  {
187  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
188  return -1;
189  }
190  else
191  {
192  index = ATCmdHttp_findAvailableIndex();
193  if (index < 0)
194  {
195  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
196  return -1;
197  }
198  else
199  {
200  ATCmdHttp_mapHanlde[index] = handle;
201  ATCmd_commandResult(ATCmdHttp_createResult,NULL,index);
202  ATCmd_okResult();
203  }
204  }
205  return 0;
206 }

§ ATCmdHttp_destroyCallback()

int32_t ATCmdHttp_destroyCallback ( void *  arg)

Http Client destroy callback.

This routine destroy http client instance.

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 211 of file atcmd_http.c.

212 {
213  int32_t ret = 0;
214  uint32_t index;
215  HTTPClient_Handle handle;
216 
217  /* parse client index */
218  handle = ATCmdHttp_clientIndexParse((char **)&arg,&index,ATCMD_DELIM_TRM);
219  if (handle == NULL)
220  {
221  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
222  return -1;
223  }
224 
225  ret = HTTPClient_destroy(handle);
226 
227  if (ret < 0)
228  {
229  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
230  }
231  else
232  {
233  ATCmdHttp_mapHanlde[index] = 0;
234  ATCmd_okResult();
235  }
236  return ret;
237 }

§ ATCmdHttp_disconnectCallback()

int32_t ATCmdHttp_disconnectCallback ( void *  arg)

Http Client Disconnect callback.

This routine disconnect from http server.

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 358 of file atcmd_http.c.

359 {
360  int32_t ret = 0;
361  uint32_t index;
362  HTTPClient_Handle handle;
363 
364  handle = ATCmdHttp_clientIndexParse((char **)&arg,&index,ATCMD_DELIM_TRM);
365  if (handle == NULL)
366  {
367  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
368  return -1;
369  }
370  ret = HTTPClient_disconnect(handle);
371 
372  if (ret < 0)
373  {
374  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
375  }
376  else
377  {
378  ATCmd_okResult();
379  }
380 
381  return ret;
382 }

§ ATCmdHttp_getHeaderCallback()

int32_t ATCmdHttp_getHeaderCallback ( void *  arg)

Http Client Get header callback.

This routine get http client header configuration

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 934 of file atcmd_http.c.

935 {
936  int32_t ret = 0;
937  ATCmdHttp_Header_t *params;
938  HTTPClient_Handle handle;
939 
940  params = malloc(sizeof(ATCmdHttp_Header_t));
941  if (params == NULL)
942  {
943  ATCmd_errorResult(ATCmd_errorAllocStr,ret);
944  return -1;
945  }
946  memset(params, 0x0, sizeof(ATCmdHttp_Header_t));
947 
948  handle = ATCmdHttp_clientIndexParse((char **)&arg,&params->index,ATCMD_DELIM_ARG);
949  if (handle == NULL)
950  {
951  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
952  return -1;
953  }
954 
955 
956  /* Call the command parser */
957  ret = ATCmdHttp_getHeaderParse((char *)arg,params);
958 
959  if(ret < 0)
960  {
961  ATCmd_errorResult(ATCmd_errorParseStr,ret);
962  ATCmdHttp_getHeaderFree(params);
963  return -1;
964  }
965 
966  params->value = malloc (params->len);
967  if (params->value == NULL)
968  {
969  ATCmd_errorResult(ATCmd_errorAllocStr,0);
970  ATCmdHttp_getHeaderFree(params);
971  return -1;
972  }
973 
974  ret = HTTPClient_getHeader(handle, params->option, params->value, &params->len, params->flags);
975 
976  if (ret < 0)
977  {
978  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
979  ATCmdHttp_getHeaderFree(params);
980  }
981  else
982  {
983  ATCmd_commandResult(ATCmdHttp_getHeaderResult,params,0);
984  ATCmd_okResult();
985  }
986 
987 
988  return ret;
989 }

§ ATCmdHttp_respBodyCallback()

int32_t ATCmdHttp_respBodyCallback ( void *  arg)

Http Client response callback.

This routine read response body data from HTTP server

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 653 of file atcmd_http.c.

654 {
655  int32_t ret = 0;
656  ATCmdHttp_RespBody_t *params;
657  HTTPClient_Handle handle;
658 
659  params = malloc(sizeof(ATCmdHttp_RespBody_t));
660  if (params == NULL)
661  {
662  ATCmd_errorResult(ATCmd_errorAllocStr,ret);
663  return -1;
664  }
665  memset(params, 0x0, sizeof(ATCmdHttp_RespBody_t));
666 
667  handle = ATCmdHttp_clientIndexParse((char **)&arg,&params->index,ATCMD_DELIM_ARG);
668  if (handle == NULL)
669  {
670  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
671  return -1;
672  }
673 
674 
675  /* Call the command parser */
676  ret = ATCmdHttp_respBodyParse((char *)arg,params);
677 
678  if(ret < 0)
679  {
680  ATCmd_errorResult(ATCmd_errorParseStr,ret);
681  ATCmdHttp_respBodyFree(params);
682  return -1;
683  }
684 
685  params->body = malloc (params->len);
686  if (params->body == NULL)
687  {
688  ATCmd_errorResult(ATCmd_errorAllocStr,0);
689  ATCmdHttp_respBodyFree(params);
690  return -1;
691  }
692 
693  ret = HTTPClient_readResponseBody(handle, params->body, params->len, (bool *)&params->moreDataflag);
694 
695  if (ret < 0)
696  {
697  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
698  ATCmdHttp_respBodyFree(params);
699  }
700  else
701  {
702  params->len = ret;
703  ATCmd_commandResult(ATCmdHttp_respBodyResult,params,0);
704  ATCmd_okResult();
705  }
706 
707 
708  return ret;
709 }

§ ATCmdHttp_sendReqCallback()

int32_t ATCmdHttp_sendReqCallback ( void *  arg)

Http Client send request callback.

This routine send request to http server

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 527 of file atcmd_http.c.

528 {
529  int32_t ret = 0;
530  ATCmdHttp_SendReq_t params;
531  uint32_t index;
532  HTTPClient_Handle handle;
533 
534  handle = ATCmdHttp_clientIndexParse((char **)&arg,&index,ATCMD_DELIM_ARG);
535  if (handle == NULL)
536  {
537  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
538  return -1;
539  }
540  memset(&params, 0x0, sizeof(ATCmdHttp_SendReq_t));
541 
542  /* Call the command parser */
543  ret = ATCmdHttp_sendReqParse((char *)arg,&params);
544 
545  if(ret < 0)
546  {
547  ATCmd_errorResult(ATCmd_errorParseStr,ret);
548  ATCmdHttp_sendReqFree(&params);
549  return -1;
550  }
551  ret = HTTPClient_sendRequest(handle,params.method,params.requestURI,params.body,params.bodyLen,params.flags);
552 
553  if (ret < 0)
554  {
555  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
556  }
557  else
558  {
559  ATCmd_commandResult(ATCmdHttp_sendReqResult,NULL,ret);
560  ATCmd_okResult();
561  }
562 
563  ATCmdHttp_sendReqFree(&params);
564 
565  return ret;
566 }

§ ATCmdHttp_setHeaderCallback()

int32_t ATCmdHttp_setHeaderCallback ( void *  arg)

Http Client Set header callback.

This routine set http client header configuration

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 805 of file atcmd_http.c.

806 {
807  int32_t ret = 0;
808  ATCmdHttp_Header_t params;
809  HTTPClient_Handle handle;
810 
811  handle = ATCmdHttp_clientIndexParse((char **)&arg,&params.index,ATCMD_DELIM_ARG);
812  if (handle == NULL)
813  {
814  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
815  return -1;
816  }
817 
818  memset(&params, 0x0, sizeof(ATCmdHttp_Header_t));
819 
820  /* Call the command parser */
821  ret = ATCmdHttp_setHeaderParse((char *)arg, &params);
822 
823  if (ret < 0)
824  {
825  ATCmd_errorResult(ATCmd_errorParseStr,ret);
826  ATCmdHttp_setHeaderFree(&params);
827  return -1;
828  }
829 
830  ret = HTTPClient_setHeader(handle,params.option,params.value,params.len,params.flags);
831 
832  if (ret < 0)
833  {
834  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
835  }
836  else
837  {
838  ATCmd_okResult();
839  }
840 
841  ATCmdHttp_setHeaderFree(&params);
842 
843  return ret;
844 }

§ ATCmdHttp_setOptCallback()

int32_t ATCmdHttp_setOptCallback ( void *  arg)

Http Client Set callback.

This routine set http client configuration

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 1017 of file atcmd_http.c.

1018 {
1019  int32_t ret = 0;
1020  ATCmdHttp_Opt_t params;
1021  uint32_t index;
1022  HTTPClient_Handle handle;
1023 
1024  handle = ATCmdHttp_clientIndexParse((char **)&arg,&index,ATCMD_DELIM_ARG);
1025  if (handle == NULL)
1026  {
1027  ATCmd_errorResult(ATCmd_errorParseStr,STRMPL_ERROR_WRONG_PARAM);
1028  return -1;
1029  }
1030 
1031  memset(&params, 0x0, sizeof(ATCmdHttp_Opt_t));
1032 
1033  /* Call the command parser */
1034  ret = ATCmdHttp_setOptParse((char *)arg, &params);
1035 
1036  if (ret < 0)
1037  {
1038  ATCmd_errorResult(ATCmd_errorParseStr,ret);
1039  return -1;
1040  }
1041 
1042  ret = HTTPClient_setOpt(handle,params.option,(void *)&params.value,params.len,params.flags);
1043 
1044  if (ret < 0)
1045  {
1046  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
1047  }
1048  else
1049  {
1050  ATCmd_okResult();
1051  }
1052 
1053  return ret;
1054 }

§ ATCmdHttp_setProxyCallback()

int32_t ATCmdHttp_setProxyCallback ( void *  arg)

Http Client Set proxy callback.

This routine set http client proxy

Parameters
arg- Points to command line buffer.
Returns
Zero on success, or negative error code on failure

Definition at line 1112 of file atcmd_http.c.

1113 {
1114  int32_t ret = 0;
1115  ATCmdHttp_Proxy_t params;
1116 
1117  memset(&params, 0x0, sizeof(ATCmdHttp_Proxy_t));
1118 
1119  /* Call the command parser */
1120  ret = ATCmdHttp_setProxyParse((char *)arg, &params);
1121 
1122  if (ret < 0)
1123  {
1124  ATCmd_errorResult(ATCmd_errorParseStr,ret);
1125  return -1;
1126  }
1127 
1128  HTTPClient_setProxy(&params.addr);
1129 
1130  ATCmd_okResult();
1131 
1132  return ret;
1133 }