X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_object.c;h=3b40bd27caf36cf0f43eaf0ecfbf3a9c0647a422;hb=a0b353aee79cf73b632d81d3426697c5413da280;hp=7e110b9a534f76afb6c084933c30625d67ce2062;hpb=7af57cc6167fbadcf861e0edcc0d44b9ae44dd5f;p=m6w6%2Fext-http diff --git a/http_request_object.c b/http_request_object.c index 7e110b9..3b40bd2 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -395,7 +395,16 @@ PHP_MINIT_FUNCTION(http_request_object) */ DCL_CONST(long, "VERSION_1_0", CURL_HTTP_VERSION_1_0); DCL_CONST(long, "VERSION_1_1", CURL_HTTP_VERSION_1_1); - DCL_CONST(long, "VERSION_NONE", CURL_HTTP_VERSION_NONE); + DCL_CONST(long, "VERSION_NONE", CURL_HTTP_VERSION_NONE); /* to be removed */ + DCL_CONST(long, "VERSION_ANY", CURL_HTTP_VERSION_NONE); + + /* + * SSL Version Constants + */ + DCL_CONST(long, "SSL_VERSION_TLSv1", CURL_SSLVERSION_TLSv1); + DCL_CONST(long, "SSL_VERSION_SSLv2", CURL_SSLVERSION_SSLv2); + DCL_CONST(long, "SSL_VERSION_SSLv3", CURL_SSLVERSION_SSLv3); + DCL_CONST(long, "SSL_VERSION_ANY", CURL_SSLVERSION_DEFAULT); /* * DNS IPvX resolving @@ -410,6 +419,7 @@ PHP_MINIT_FUNCTION(http_request_object) DCL_CONST(long, "AUTH_BASIC", CURLAUTH_BASIC); DCL_CONST(long, "AUTH_DIGEST", CURLAUTH_DIGEST); DCL_CONST(long, "AUTH_NTLM", CURLAUTH_NTLM); + DCL_CONST(long, "AUTH_GSSNEG", CURLAUTH_GSSNEGOTIATE); DCL_CONST(long, "AUTH_ANY", CURLAUTH_ANY); /* @@ -542,21 +552,23 @@ STATUS _http_request_object_requesthandler(http_request_object *obj, zval *this_ case HTTP_PUT: { - zval *put_data = GET_PROP(putData); + zval *put_file = GET_PROP(putFile); http_request_object_check_request_content_type(getThis()); - if (Z_STRLEN_P(put_data)) { - obj->request->body = http_request_body_init_ex(obj->request->body, HTTP_REQUEST_BODY_CSTRING, - estrndup(Z_STRVAL_P(put_data), Z_STRLEN_P(put_data)), Z_STRLEN_P(put_data), 1); - } else { + + if (Z_STRLEN_P(put_file)) { php_stream_statbuf ssb; - php_stream *stream = php_stream_open_wrapper_ex(Z_STRVAL_P(GET_PROP(putFile)), "rb", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL, HTTP_DEFAULT_STREAM_CONTEXT); + php_stream *stream = php_stream_open_wrapper_ex(Z_STRVAL_P(put_file), "rb", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL, HTTP_DEFAULT_STREAM_CONTEXT); - if (stream && !php_stream_stat(stream, &ssb)) { + if (stream && SUCCESS == php_stream_stat(stream, &ssb)) { obj->request->body = http_request_body_init_ex(obj->request->body, HTTP_REQUEST_BODY_UPLOADFILE, stream, ssb.sb.st_size, 1); } else { status = FAILURE; } + } else { + zval *put_data = GET_PROP(putData); + obj->request->body = http_request_body_init_ex(obj->request->body, HTTP_REQUEST_BODY_CSTRING, + estrndup(Z_STRVAL_P(put_data), Z_STRLEN_P(put_data)), Z_STRLEN_P(put_data), 1); } break; }