Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 57397 invoked from network); 24 Jan 2008 12:01:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 24 Jan 2008 12:01:37 -0000 Received: (qmail 23744 invoked by uid 500); 24 Jan 2008 12:01:27 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 23518 invoked by uid 500); 24 Jan 2008 12:01:27 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 23507 invoked by uid 500); 24 Jan 2008 12:01:26 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 23504 invoked by uid 99); 24 Jan 2008 12:01:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jan 2008 04:01:26 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jan 2008 12:01:09 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 2B6A61A9832; Thu, 24 Jan 2008 04:01:11 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r614856 - in /webservices/axis2/trunk/c/src/core/transport/http: common/http_worker.c common/simple_http_svr_conn.c sender/http_sender.c sender/libcurl/axis2_libcurl.c server/IIS/axis2_iis_worker.c Date: Thu, 24 Jan 2008 12:01:08 -0000 To: axis2-cvs@ws.apache.org From: dushshantha@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080124120111.2B6A61A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dushshantha Date: Thu Jan 24 04:01:06 2008 New Revision: 614856 URL: http://svn.apache.org/viewvc?rev=614856&view=rev Log: applied the patch for AXIS2C-929 Modified: webservices/axis2/trunk/c/src/core/transport/http/common/http_worker.c webservices/axis2/trunk/c/src/core/transport/http/common/simple_http_svr_conn.c webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c webservices/axis2/trunk/c/src/core/transport/http/server/IIS/axis2_iis_worker.c Modified: webservices/axis2/trunk/c/src/core/transport/http/common/http_worker.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/common/http_worker.c?rev=614856&r1=614855&r2=614856&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/common/http_worker.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/common/http_worker.c Thu Jan 24 04:01:06 2008 @@ -125,6 +125,8 @@ axis2_char_t *svc_grp_uuid = NULL; axis2_char_t *path = NULL; axutil_property_t *peer_property = NULL; + axis2_bool_t is_get = AXIS2_FALSE; + axis2_bool_t is_head = AXIS2_FALSE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, svr_conn, AXIS2_FAILURE); @@ -251,10 +253,21 @@ (simple_request, env, AXIS2_HTTP_HEADER_SOAP_ACTION), env); soap_action_str = axutil_string_create(env, soap_action); } - if (0 == + if ((0 == axutil_strcasecmp(axis2_http_request_line_get_method (axis2_http_simple_request_get_request_line - (simple_request, env), env), AXIS2_HTTP_GET)) + (simple_request, env), env), AXIS2_HTTP_GET))) + { + is_get = AXIS2_TRUE; + } + else if ((0 == + axutil_strcasecmp(axis2_http_request_line_get_method + (axis2_http_simple_request_get_request_line + (simple_request, env), env), AXIS2_HTTP_HEAD))) + { + is_head = AXIS2_TRUE; + } + if (is_get || is_head) { processed = axis2_http_transport_utils_process_http_get_request (env, msg_ctx, request_body, out_stream, @@ -421,7 +434,10 @@ axis2_http_simple_response_set_status_line(response, env, http_version, AXIS2_HTTP_RESPONSE_OK_CODE_VAL, "OK"); - axis2_http_simple_response_set_body_stream(response, env, out_stream); + if (!is_head) + { + axis2_http_simple_response_set_body_stream(response, env, out_stream); + } } else { Modified: webservices/axis2/trunk/c/src/core/transport/http/common/simple_http_svr_conn.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/common/simple_http_svr_conn.c?rev=614856&r1=614855&r2=614856&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/common/simple_http_svr_conn.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/common/simple_http_svr_conn.c Thu Jan 24 04:01:06 2008 @@ -196,7 +196,8 @@ if (strlen(str_line)) { if (0 != axutil_strncasecmp(str_line, "GET", 3) && 0 != - axutil_strncasecmp(str_line, "POST", 4)) + axutil_strncasecmp(str_line, "POST", 4) && 0 != + axutil_strncasecmp(str_line, "HEAD", 4)) { char write_buf[512]; sprintf(write_buf, "%s %s\r\n%s: close\r\n\r\n", Modified: webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c?rev=614856&r1=614855&r2=614856&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c Thu Jan 24 04:01:06 2008 @@ -219,6 +219,7 @@ axutil_property_t *method = NULL; axis2_char_t *method_value = NULL; axis2_bool_t send_via_get = AXIS2_FALSE; + axis2_bool_t send_via_head = AXIS2_FALSE; axiom_node_t *data_out = NULL; axiom_node_t *body_node = NULL; axiom_soap_body_t *soap_body = NULL; @@ -278,6 +279,10 @@ { send_via_get = AXIS2_TRUE; } + if (method_value && 0 == axutil_strcmp (method_value, AXIS2_HTTP_HEAD)) + { + send_via_head = AXIS2_TRUE; + } } if (!url) @@ -303,8 +308,11 @@ */ axis2_http_sender_configure_proxy (sender, env, msg_ctx); - - conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); + + if (send_via_head) + { + conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); + } if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); @@ -352,8 +360,7 @@ { axiom_output_write_xml_version_encoding (sender->om_output, env); } - - if (!send_via_get) + if (!send_via_get && !send_via_head) { axutil_property_t *property = NULL; @@ -447,9 +454,12 @@ path = axutil_strcat (env, axutil_url_get_path (url, env), "?", request_params, NULL); - - request_line = axis2_http_request_line_create (env, "GET", path, - sender->http_version); + if (send_via_get) + request_line = axis2_http_request_line_create (env, "GET", path, + sender->http_version); + if (send_via_head) + request_line = axis2_http_request_line_create (env, "HEAD", path, + sender->http_version); } request = axis2_http_simple_request_create (env, request_line, NULL, 0, @@ -495,7 +505,7 @@ } } - if (!send_via_get) + if (!send_via_get && !send_via_head) { buffer_size = axiom_xml_writer_get_xml_size (xml_writer, env); Modified: webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c?rev=614856&r1=614855&r2=614856&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c Thu Jan 24 04:01:06 2008 @@ -88,6 +88,7 @@ axiom_soap_body_t *soap_body; axis2_bool_t is_soap = AXIS2_TRUE; axis2_bool_t send_via_get = AXIS2_FALSE; + axis2_bool_t send_via_head = AXIS2_FALSE; axis2_bool_t doing_mtom = AXIS2_FALSE; axiom_node_t *body_node = NULL; axiom_node_t *data_out = NULL; @@ -177,6 +178,10 @@ { send_via_get = AXIS2_TRUE; } + if (method_value && 0 == axutil_strcmp(method_value, AXIS2_HTTP_HEAD)) + { + send_via_head = AXIS2_TRUE; + } } conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); @@ -407,7 +412,14 @@ (axis2_char_t *) axis2_http_sender_get_param_string(NULL, env, msg_ctx); url_encode = axutil_strcat(env, str_url, "?", request_param, NULL); - curl_easy_setopt(handler, CURLOPT_HTTPGET, 1); + if (send_via_get) + { + curl_easy_setopt(handler, CURLOPT_HTTPGET, 1); + } + if (send_via_head) + { + curl_easy_setopt(handler, CURLOPT_NOBODY, 1); + } curl_easy_setopt(handler, CURLOPT_URL, url_encode); } Modified: webservices/axis2/trunk/c/src/core/transport/http/server/IIS/axis2_iis_worker.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/server/IIS/axis2_iis_worker.c?rev=614856&r1=614855&r2=614856&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/server/IIS/axis2_iis_worker.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/server/IIS/axis2_iis_worker.c Thu Jan 24 04:01:06 2008 @@ -264,7 +264,7 @@ return HSE_STATUS_ERROR; } -if (stricmp(lpECB->lpszMethod, "GET") == 0) +if (stricmp(lpECB->lpszMethod, "GET") == 0 || stricmp(lpECB->lpszMethod, "HEAD") == 0) { processed = axis2_http_transport_utils_process_http_get_request (env, msg_ctx, request_body, out_stream, lpECB->lpszContentType, @@ -446,7 +446,8 @@ } - +if (stricmp(lpECB->lpszMethod, "HEAD") != 0) +{ if (!write_response(lpECB, body_string, body_str_len)) { @@ -455,6 +456,7 @@ " writing response."); } +} AXIS2_FREE(env->allocator, body_string); @@ -813,6 +815,7 @@ return buffer; } + --------------------------------------------------------------------- To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org For additional commands, e-mail: axis-cvs-help@ws.apache.org