- servers may return a header multiple times, join them in http_message_header()
[m6w6/ext-http] / http_request_object.c
index 81c051e2d37f37f03fde588e708e6e1367a7900c..b9e8af7f37ace2a5434ae77ebe601af8093e22b9 100644 (file)
@@ -653,7 +653,7 @@ STATUS _http_request_object_responsehandler(http_request_object *obj, zval *this
                }
 
                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);
@@ -798,7 +798,7 @@ PHP_METHOD(HttpRequest, __construct)
        zval *options = NULL;
 
        SET_EH_THROW_HTTP();
-       if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sla", &URL, &URL_len, &meth, &options)) {
+       if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sla!", &URL, &URL_len, &meth, &options)) {
                if (URL) {
                        UPD_STRL(url, URL, URL_len);
                }
@@ -1719,8 +1719,8 @@ PHP_METHOD(HttpRequest, getResponseHeader)
                                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);
@@ -1749,7 +1749,7 @@ PHP_METHOD(HttpRequest, getResponseCookies)
                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;