*/
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
+ */
+ DCL_CONST(long, "IPRESOLVE_V4", CURL_IPRESOLVE_V4);
+ DCL_CONST(long, "IPRESOLVE_V6", CURL_IPRESOLVE_V6);
+ DCL_CONST(long, "IPRESOLVE_ANY", CURL_IPRESOLVE_WHATEVER);
/*
* Auth Constants
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);
/*
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;
}
}
UPD_PROP(long, responseCode, msg->http.info.response.code);
- UPD_PROP(string, responseStatus, msg->http.info.response.status ? msg->http.info.response.status : "");
+ UPD_PROP(string, responseStatus, STR_PTR(msg->http.info.response.status));
MAKE_STD_ZVAL(message);
ZVAL_OBJVAL(message, http_message_object_new_ex(http_message_object_ce, msg, NULL), 0);
getObjectEx(http_message_object, msg, message);
if (header_len) {
- if ((header = http_message_header_ex(msg->message, pretty_key(header_name, header_len, 1, 1), header_len + 1))) {
- RETURN_ZVAL(header, 1, 0);
+ if ((header = http_message_header_ex(msg->message, pretty_key(header_name, header_len, 1, 1), header_len + 1, 0))) {
+ RETURN_ZVAL(header, 1, 1);
}
} else {
array_init(return_value);
long flags = 0;
zval *allowed_extras_array = NULL;
- if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|la", &flags, &allowed_extras_array)) {
+ if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|la!", &flags, &allowed_extras_array)) {
int i = 0;
ulong idx = 0;
char *key = NULL, **allowed_extras = NULL;