- fix endless loop in http_build_url() with urls like "/.foo"
[m6w6/ext-http] / http_request_object.c
index ead0870361dd25e9e278f7a0d658548a3d13c5c7..6f5b0345f0ca4e20299abc6d972d6713daefdc48 100644 (file)
 
 /* $Id$ */
 
-#ifdef HAVE_CONFIG_H
-#      include "config.h"
-#endif
-
 #define HTTP_WANT_CURL
 #include "php_http.h"
 
@@ -607,7 +603,7 @@ STATUS _http_request_object_responsehandler(http_request_object *obj, zval *this
                zval_ptr_dtor(&resp);
 
                MAKE_STD_ZVAL(message);
-               ZVAL_OBJVAL(message, http_message_object_new_ex(http_message_object_ce, msg, NULL));
+               ZVAL_OBJVAL(message, http_message_object_new_ex(http_message_object_ce, msg, NULL), 0);
                SET_PROP(responseMessage, message);
                zval_ptr_dtor(&message);
 
@@ -982,11 +978,6 @@ PHP_METHOD(HttpRequest, setMethod)
                RETURN_FALSE;
        }
 
-       if (meth >= HTTP_GET && meth <= HTTP_PUT) {
-               getObject(http_request_object, obj);
-               curl_easy_setopt(obj->request->ch, CURLOPT_CUSTOMREQUEST, NULL);
-       }
-
        UPD_PROP(long, method, meth);
        RETURN_TRUE;
 }
@@ -1022,7 +1013,6 @@ PHP_METHOD(HttpRequest, setContentType)
 {
        char *ctype;
        int ct_len;
-       getObject(http_request_object, obj);
 
        if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &ctype, &ct_len)) {
                RETURN_FALSE;
@@ -1064,7 +1054,6 @@ PHP_METHOD(HttpRequest, getContentType)
 PHP_METHOD(HttpRequest, setQueryData)
 {
        zval *qdata = NULL;
-       getObject(http_request_object, obj);
 
        if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z!", &qdata)) {
                RETURN_FALSE;
@@ -1722,7 +1711,7 @@ PHP_METHOD(HttpRequest, getResponseMessage)
                SET_EH_THROW_HTTP();
                message = GET_PROP(responseMessage);
                if (Z_TYPE_P(message) == IS_OBJECT) {
-                       RETVAL_OBJECT(message);
+                       RETVAL_OBJECT(message, 1);
                } else {
                        RETVAL_NULL();
                }
@@ -1759,7 +1748,7 @@ PHP_METHOD(HttpRequest, getRequestMessage)
 
                SET_EH_THROW_HTTP();
                if ((msg = http_message_parse(PHPSTR_VAL(&obj->request->conv.request), PHPSTR_LEN(&obj->request->conv.request)))) {
-                       ZVAL_OBJVAL(return_value, http_message_object_new_ex(http_message_object_ce, msg, NULL));
+                       RETVAL_OBJVAL(http_message_object_new_ex(http_message_object_ce, msg, NULL), 0);
                }
                SET_EH_NORMAL();
        }
@@ -1833,7 +1822,7 @@ PHP_METHOD(HttpRequest, getHistory)
 
                SET_EH_THROW_HTTP();
                if ((msg = http_message_parse(PHPSTR_VAL(&obj->history), PHPSTR_LEN(&obj->history)))) {
-                       ZVAL_OBJVAL(return_value, http_message_object_new_ex(http_message_object_ce, msg, NULL));
+                       RETVAL_OBJVAL(http_message_object_new_ex(http_message_object_ce, msg, NULL), 0);
                }
                SET_EH_NORMAL();
        }
@@ -1913,7 +1902,7 @@ PHP_METHOD(HttpRequest, send)
        } else if (SUCCESS == http_request_object_requesthandler(obj, getThis())) {
                http_request_exec(obj->request);
                if (SUCCESS == http_request_object_responsehandler(obj, getThis())) {
-                       RETVAL_OBJECT(GET_PROP(responseMessage));
+                       RETVAL_OBJECT(GET_PROP(responseMessage), 1);
                }
        }