X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_client_curl.c;fp=php_http_client_curl.c;h=fed92fc078f2c4a95649c53901f5393c8c05483a;hp=763525f968fc3f201d86d0e2a0bb3ea98c1d1b5c;hb=180fca20064e7c2e1166117732da7e2b1ee31730;hpb=d83f26991f47c43ec80d353a5b8ff99dabba528b diff --git a/php_http_client_curl.c b/php_http_client_curl.c index 763525f..fed92fc 100644 --- a/php_http_client_curl.c +++ b/php_http_client_curl.c @@ -2008,9 +2008,14 @@ static ZEND_RESULT_CODE php_http_client_curl_handler_prepare(php_http_client_cur * See also https://tools.ietf.org/html/rfc7231#section-5.1.1 */ if (PHP_HTTP_INFO(msg).request.method) { - if (!strcasecmp("PUT", PHP_HTTP_INFO(msg).request.method)) { + switch(php_http_select_str(PHP_HTTP_INFO(msg).request.method, 2, "HEAD", "PUT")) { + case 0: + curl_easy_setopt(curl->handle, CURLOPT_NOBODY, 1L); + break; + case 1: curl_easy_setopt(curl->handle, CURLOPT_UPLOAD, 1L); - } else { + break; + default: curl_easy_setopt(curl->handle, CURLOPT_CUSTOMREQUEST, PHP_HTTP_INFO(msg).request.method); } } else {