From 9feb1b4bedc856baed5a7ffce3866dec3f801e9b Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Fri, 5 Feb 2010 16:03:29 +0000 Subject: Misc (#1018): * httpdemo: make the 2nd parameter (output filename) optional (result will be printed to stdout if output file is not provided. * remove trailing "\n" from PJ_LOG. * change response.status_code from pj_str_t to pj_uint16_t. * remove PJ_EPENDING status checking from on_complete. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3089 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib-util/include/pjlib-util/http_client.h | 2 +- pjlib-util/src/pjlib-util-test/http_client.c | 18 +++++++++--------- pjlib-util/src/pjlib-util/http_client.c | 10 ++++++---- 3 files changed, 16 insertions(+), 14 deletions(-) (limited to 'pjlib-util') diff --git a/pjlib-util/include/pjlib-util/http_client.h b/pjlib-util/include/pjlib-util/http_client.h index 9c4e6da9..bcd6e425 100644 --- a/pjlib-util/include/pjlib-util/http_client.h +++ b/pjlib-util/include/pjlib-util/http_client.h @@ -133,7 +133,7 @@ typedef struct pj_http_req_param typedef struct pj_http_resp { pj_str_t version; /**< HTTP version of the server */ - pj_str_t status_code; /**< Status code of the request */ + pj_uint16_t status_code; /**< Status code of the request */ pj_str_t reason; /**< Reason phrase */ pj_http_headers headers; /**< Response headers */ /** diff --git a/pjlib-util/src/pjlib-util-test/http_client.c b/pjlib-util/src/pjlib-util-test/http_client.c index d179bbf3..e31caf25 100644 --- a/pjlib-util/src/pjlib-util-test/http_client.c +++ b/pjlib-util/src/pjlib-util-test/http_client.c @@ -133,7 +133,7 @@ static void on_data_read(pj_http_req *hreq, void *data, pj_size_t size) PJ_UNUSED_ARG(hreq); PJ_UNUSED_ARG(data); - PJ_LOG(5, (THIS_FILE, "\nData received: %d bytes\n", size)); + PJ_LOG(5, (THIS_FILE, "\nData received: %d bytes", size)); if (size > 0) { #ifdef VERBOSE printf("%.*s\n", (int)size, (char *)data); @@ -160,7 +160,7 @@ static void on_send_data(pj_http_req *hreq, *data = sdata; *size = sendsz; - PJ_LOG(5, (THIS_FILE, "\nSending data progress: %d out of %d bytes\n", + PJ_LOG(5, (THIS_FILE, "\nSending data progress: %d out of %d bytes", send_size, total_size)); } @@ -171,16 +171,16 @@ static void on_complete(pj_http_req *hreq, pj_status_t status, PJ_UNUSED_ARG(hreq); if (status == PJ_ECANCELLED) { - PJ_LOG(5, (THIS_FILE, "Request cancelled\n")); + PJ_LOG(5, (THIS_FILE, "Request cancelled")); return; } else if (status == PJ_ETIMEDOUT) { - PJ_LOG(5, (THIS_FILE, "Request timed out!\n")); + PJ_LOG(5, (THIS_FILE, "Request timed out!")); return; - } else if (status != PJ_SUCCESS && status != PJ_EPENDING) { - PJ_LOG(3, (THIS_FILE, "Error %d\n", status)); + } else if (status != PJ_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Error %d", status)); return; } - PJ_LOG(5, (THIS_FILE, "\nData completed: %d bytes\n", resp->size)); + PJ_LOG(5, (THIS_FILE, "\nData completed: %d bytes", resp->size)); if (resp->size > 0 && resp->data) { #ifdef VERBOSE printf("%.*s\n", (int)resp->size, (char *)resp->data); @@ -197,8 +197,8 @@ static void on_response(pj_http_req *hreq, const pj_http_resp *resp) PJ_UNUSED_ARG(i); #ifdef VERBOSE - printf("%.*s, %.*s, %.*s\n", STR_PREC(resp->version), - STR_PREC(resp->status_code), STR_PREC(resp->reason)); + printf("%.*s, %d, %.*s\n", STR_PREC(resp->version), + resp->status_code, STR_PREC(resp->reason)); for (i = 0; i < resp->headers.count; i++) { printf("%.*s : %.*s\n", STR_PREC(resp->headers.header[i].name), diff --git a/pjlib-util/src/pjlib-util/http_client.c b/pjlib-util/src/pjlib-util/http_client.c index 681799b6..7bd2b238 100644 --- a/pjlib-util/src/pjlib-util/http_client.c +++ b/pjlib-util/src/pjlib-util/http_client.c @@ -217,7 +217,7 @@ static pj_bool_t http_on_data_sent(pj_activesock_t *asock, } hreq->tcp_state.current_send_size += sent; - TRACE_((THIS_FILE, "\nData sent: %d out of %d bytes\n", + TRACE_((THIS_FILE, "\nData sent: %d out of %d bytes", hreq->tcp_state.current_send_size, hreq->tcp_state.send_size)); if (hreq->tcp_state.current_send_size == hreq->tcp_state.send_size) { /* Find out whether there is a request body to send. */ @@ -279,7 +279,7 @@ static pj_bool_t http_on_data_read(pj_activesock_t *asock, { pj_http_req *hreq = (pj_http_req*) pj_activesock_get_user_data(asock); - TRACE_((THIS_FILE, "\nData received: %d bytes\n", size)); + TRACE_((THIS_FILE, "\nData received: %d bytes", size)); if (hreq->state == ABORTING) return PJ_FALSE; @@ -471,6 +471,7 @@ static pj_status_t http_response_parse(pj_pool_t *pool, char *cptr; void *newdata; pj_scanner scanner; + pj_str_t s; pj_status_t status; PJ_USE_EXCEPTION; @@ -508,7 +509,8 @@ static pj_status_t http_response_parse(pj_pool_t *pool, PJ_TRY { pj_scan_get_until_ch(&scanner, ' ', &response->version); pj_scan_advance_n(&scanner, 1, PJ_FALSE); - pj_scan_get_until_ch(&scanner, ' ', &response->status_code); + pj_scan_get_until_ch(&scanner, ' ', &s); + response->status_code = (pj_uint16_t)pj_strtoul(&s); pj_scan_advance_n(&scanner, 1, PJ_FALSE); pj_scan_get_until_ch(&scanner, '\n', &response->reason); if (response->reason.ptr[response->reason.slen-1] == '\r') @@ -908,7 +910,7 @@ static pj_status_t http_req_start_sending(pj_http_req *hreq) pj_strcat2(&pkt, "\n"); pkt.ptr[pkt.slen] = 0; - TRACE_((THIS_FILE, "%s\n", pkt.ptr)); + TRACE_((THIS_FILE, "%s", pkt.ptr)); } else { pkt.ptr = hreq->param.reqdata.data; pkt.slen = hreq->param.reqdata.size; -- cgit v1.2.3