Lines Matching refs:client_data

185 …ient_send_header(httpclient_t *client, const char *url, int method, httpclient_data_t *client_data)  in httpclient_send_header()  argument
262 if ((formdata_len = httpclient_formdata_len(client_data)) > 0) { in httpclient_send_header()
269 if (client_data->post_content_type != NULL) { in httpclient_send_header()
271 snprintf(buf, buf_size, "Content-Type: %s\r\n", client_data->post_content_type); in httpclient_send_header()
282 } else if ( client_data->post_buf != NULL ) { in httpclient_send_header()
283 snprintf(buf, buf_size, "Content-Length: %d\r\n", client_data->post_buf_len); in httpclient_send_header()
286 if (client_data->post_content_type != NULL) { in httpclient_send_header()
287 snprintf(buf, buf_size, "Content-Type: %s\r\n", client_data->post_content_type); in httpclient_send_header()
351 static int httpclient_send_userdata(httpclient_t *client, httpclient_data_t *client_data) in httpclient_send_userdata() argument
355 if (client_data->post_buf && client_data->post_buf_len) { in httpclient_send_userdata()
356 http_debug("client_data->post_buf:%s", client_data->post_buf); in httpclient_send_userdata()
359 …if (http_ssl_send_wrapper(client, client_data->post_buf, client_data->post_buf_len) != client_data in httpclient_send_userdata()
366 ret = http_tcp_send_wrapper(client, client_data->post_buf, client_data->post_buf_len); in httpclient_send_userdata()
377 } else if(httpclient_send_formdata(client, client_data) < 0) { in httpclient_send_userdata()
402 …pclient_retrieve_content(httpclient_t *client, char *data, int len, httpclient_data_t *client_data) in httpclient_retrieve_content() argument
407 client_data->is_more = true; in httpclient_retrieve_content()
409 if (client_data->response_content_len == -1 && client_data->is_chunked == false) { in httpclient_retrieve_content()
413 if (count + len < client_data->response_buf_len - 1) { in httpclient_retrieve_content()
414 memcpy(client_data->response_buf + count, data, len); in httpclient_retrieve_content()
416 client_data->response_buf[count] = '\0'; in httpclient_retrieve_content()
418 … memcpy(client_data->response_buf + count, data, client_data->response_buf_len - 1 - count); in httpclient_retrieve_content()
419 client_data->response_buf[client_data->response_buf_len - 1] = '\0'; in httpclient_retrieve_content()
420 client_data->content_block_len = client_data->response_buf_len - 1; in httpclient_retrieve_content()
424 max_len = MIN(HTTPCLIENT_CHUNK_SIZE - 1, client_data->response_buf_len - 1 - count); in httpclient_retrieve_content()
436 client_data->content_block_len = count; in httpclient_retrieve_content()
442 client_data->is_more = false; in httpclient_retrieve_content()
452 if ( client_data->is_chunked && client_data->retrieve_len <= 0) { in httpclient_retrieve_content()
472 int max_recv = MIN(client_data->response_buf_len, HTTPCLIENT_CHUNK_SIZE); in httpclient_retrieve_content()
493 client_data->retrieve_len = readLen; in httpclient_retrieve_content()
494 client_data->response_content_len += client_data->retrieve_len; in httpclient_retrieve_content()
505 client_data->is_more = false; in httpclient_retrieve_content()
510 readLen = client_data->retrieve_len; in httpclient_retrieve_content()
519 if (count + templen < client_data->response_buf_len - 1) { in httpclient_retrieve_content()
520 memcpy(client_data->response_buf + count, data, templen); in httpclient_retrieve_content()
522 client_data->response_buf[count] = '\0'; in httpclient_retrieve_content()
523 client_data->retrieve_len -= templen; in httpclient_retrieve_content()
525 … memcpy(client_data->response_buf + count, data, client_data->response_buf_len - 1 - count); in httpclient_retrieve_content()
526 client_data->response_buf[client_data->response_buf_len - 1] = '\0'; in httpclient_retrieve_content()
527 client_data->retrieve_len -= (client_data->response_buf_len - 1 - count); in httpclient_retrieve_content()
528 client_data->content_block_len = client_data->response_buf_len - 1; in httpclient_retrieve_content()
533 http_debug("memmove %d %d %d", readLen, len, client_data->retrieve_len); in httpclient_retrieve_content()
537 client_data->retrieve_len = 0; in httpclient_retrieve_content()
543 …int max_len = MIN(MIN(HTTPCLIENT_CHUNK_SIZE - 1, client_data->response_buf_len - 1 - count), readL… in httpclient_retrieve_content()
556 if ( client_data->is_chunked ) { in httpclient_retrieve_content()
559 …int max_recv = MIN(client_data->response_buf_len - 1 - count + 2, HTTPCLIENT_CHUNK_SIZE - len - 1); in httpclient_retrieve_content()
580 client_data->is_more = false; in httpclient_retrieve_content()
585 client_data->content_block_len = count; in httpclient_retrieve_content()
590 …ttpclient_response_parse(httpclient_t *client, char *data, int len, httpclient_data_t *client_data) in httpclient_response_parse() argument
593 int header_buf_len = client_data->header_buf_len; in httpclient_response_parse()
594 char *header_buf = client_data->header_buf; in httpclient_response_parse()
602 client_data->response_content_len = -1; in httpclient_response_parse()
633 client_data->is_chunked = false; in httpclient_response_parse()
687 sscanf(value_ptr, "%d[^\r]", &(client_data->response_content_len)); in httpclient_response_parse()
688 client_data->retrieve_len = client_data->response_content_len; in httpclient_response_parse()
691 client_data->is_chunked = true; in httpclient_response_parse()
692 client_data->response_content_len = 0; in httpclient_response_parse()
693 client_data->retrieve_len = 0; in httpclient_response_parse()
702 if(client_data->redirect_url == NULL) { in httpclient_response_parse()
703 client_data->redirect_url = (char* )malloc(HTTPCLIENT_MAX_URL_LEN); in httpclient_response_parse()
706 memset(client_data->redirect_url, 0, HTTPCLIENT_MAX_URL_LEN); in httpclient_response_parse()
707 memcpy(client_data->redirect_url, value_ptr, value_len); in httpclient_response_parse()
708 client_data->is_redirected = 1; in httpclient_response_parse()
719 return httpclient_retrieve_content(client, data, len, client_data); in httpclient_response_parse()
800 … httpclient_send(httpclient_t *client, const char *url, int method, httpclient_data_t *client_data) in httpclient_send() argument
808 ret = httpclient_send_header(client, url, method, client_data); in httpclient_send()
814 ret = httpclient_send_userdata(client, client_data); in httpclient_send()
822 HTTPC_RESULT httpclient_recv(httpclient_t *client, httpclient_data_t *client_data) in httpclient_recv() argument
829 if (client_data->header_buf_len < HTTPCLIENT_CHUNK_SIZE || in httpclient_recv()
830 client_data->response_buf_len < HTTPCLIENT_CHUNK_SIZE) { in httpclient_recv()
849 if (client_data->is_more) { in httpclient_recv()
850 client_data->response_buf[0] = '\0'; in httpclient_recv()
851 ret = httpclient_retrieve_content(client, buf, reclen, client_data); in httpclient_recv()
862 ret = httpclient_response_parse(client, buf, reclen, client_data); in httpclient_recv()
929 HTTPC_RESULT httpclient_prepare(httpclient_data_t *client_data, int header_size, int resp_size) in httpclient_prepare() argument
933 if (!client_data) in httpclient_prepare()
941 memset(client_data, 0, sizeof(httpclient_data_t)); in httpclient_prepare()
943 client_data->header_buf = (char *) malloc (header_size); in httpclient_prepare()
944 client_data->response_buf = (char *) malloc (resp_size); in httpclient_prepare()
946 if (client_data->header_buf == NULL || client_data->response_buf == NULL){ in httpclient_prepare()
948 if(client_data->header_buf){ in httpclient_prepare()
949 free(client_data->header_buf); in httpclient_prepare()
950 client_data->header_buf = NULL; in httpclient_prepare()
953 if(client_data->response_buf){ in httpclient_prepare()
954 free(client_data->response_buf); in httpclient_prepare()
955 client_data->response_buf = NULL; in httpclient_prepare()
963 client_data->header_buf_len = header_size; in httpclient_prepare()
964 client_data->response_buf_len = resp_size; in httpclient_prepare()
965 client_data->post_buf_len = 0; in httpclient_prepare()
967 client_data->is_redirected = 0; in httpclient_prepare()
968 client_data->redirect_url = NULL; in httpclient_prepare()
974 void httpclient_reset(httpclient_data_t *client_data) in httpclient_reset() argument
976 char *response_buf = client_data->response_buf; in httpclient_reset()
977 char *header_buf = client_data->header_buf; in httpclient_reset()
978 int response_buf_len = client_data->response_buf_len; in httpclient_reset()
979 int header_buf_len = client_data->header_buf_len; in httpclient_reset()
981 memset(client_data, 0, sizeof(httpclient_data_t)); in httpclient_reset()
983 client_data->response_buf = response_buf; in httpclient_reset()
984 client_data->header_buf = header_buf; in httpclient_reset()
985 client_data->response_buf_len = response_buf_len; in httpclient_reset()
986 client_data->header_buf_len = header_buf_len; in httpclient_reset()
989 HTTPC_RESULT httpclient_unprepare(httpclient_data_t *client_data) in httpclient_unprepare() argument
993 if (!client_data){ in httpclient_unprepare()
998 if(client_data->header_buf){ in httpclient_unprepare()
999 free(client_data->header_buf); in httpclient_unprepare()
1000 client_data->header_buf = NULL; in httpclient_unprepare()
1003 if(client_data->response_buf){ in httpclient_unprepare()
1004 free(client_data->response_buf); in httpclient_unprepare()
1005 client_data->response_buf = NULL; in httpclient_unprepare()
1008 client_data->header_buf_len = 0; in httpclient_unprepare()
1009 client_data->response_buf_len = 0; in httpclient_unprepare()
1011 client_data->is_redirected = 0; in httpclient_unprepare()
1012 if (client_data->redirect_url) { in httpclient_unprepare()
1013 free(client_data->redirect_url); in httpclient_unprepare()
1014 client_data->redirect_url = NULL; in httpclient_unprepare()