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 319 of file atcmd_http.c.

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

§ 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  HTTPClient_destroy(handle);
196  ATCmd_errorResult(ATCmd_errorCmdStr,ret);
197  return -1;
198  }
199  else
200  {
201  ATCmdHttp_mapHanlde[index] = handle;
202  ATCmd_commandResult(ATCmdHttp_createResult,NULL,index);
203  ATCmd_okResult();
204  }
205  }
206  return 0;
207 }

§ 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 212 of file atcmd_http.c.

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

§ 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 359 of file atcmd_http.c.

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

§ 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 936 of file atcmd_http.c.

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

§ 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 654 of file atcmd_http.c.

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

§ 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 528 of file atcmd_http.c.

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

§ 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 807 of file atcmd_http.c.

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

§ 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 1020 of file atcmd_http.c.

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

§ 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 1115 of file atcmd_http.c.

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