X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=http_methods.c;h=6812d7d795af9838a4ab7959f88bb93962df924d;hb=5e35a11e19288bc1263e590c119cafc21b94555c;hp=1c3b99c599528e2d7d10eb9add79a62680657c3a;hpb=add8166df3235a7680703eddc36edee7dcc20b20;p=m6w6%2Fext-http diff --git a/http_methods.c b/http_methods.c index 1c3b99c..6812d7d 100644 --- a/http_methods.c +++ b/http_methods.c @@ -21,9 +21,18 @@ #include "php.h" #include "php_http.h" +#include "php_http_std_defs.h" #include "php_http_api.h" +#include "php_http_cache_api.h" #include "php_http_curl_api.h" -#include "php_http_std_defs.h" +#include "php_http_date_api.h" +#include "php_http_headers_api.h" +#include "php_http_send_api.h" +#include "php_http_url_api.h" + +#include "php_http_message_object.h" +#include "php_http_response_object.h" +#include "php_http_request_object.h" #ifdef ZEND_ENGINE_2 @@ -438,6 +447,11 @@ PHP_METHOD(HttpResponse, send) do_cache = GET_PROP(obj, cache); do_gzip = GET_PROP(obj, gzip); + /* gzip */ + if (Z_LVAL_P(do_gzip)) { + php_start_ob_buffer_named("ob_gzhandler", 0, 1 TSRMLS_CC); + } + /* caching */ if (Z_LVAL_P(do_cache)) { zval *cctrl, *etag, *lmod, *ccraw; @@ -458,11 +472,6 @@ PHP_METHOD(HttpResponse, send) } } - /* gzip */ - if (Z_LVAL_P(do_gzip)) { - /* ... */ - } - /* content type */ { zval *ctype = GET_PROP(obj, contentType); @@ -512,6 +521,38 @@ PHP_METHOD(HttpResponse, send) /* }}} */ /* }}} */ +/* {{{ HttpMessage */ + +/* {{{ void HttpMessage::__construct([string raw_message]) */ +PHP_METHOD(HttpMessage, __construct) +{ + zval *message = NULL; + int message_len; + getObject(http_message_object, obj); + http_message *msg = obj->message; + + if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|z/", &message)) { + return; + } + + if (message) { + SET_PROP(obj, raw, message); + } +} +/* }}} */ + +/* {{{ void HttpMessage::__destruct() */ +PHP_METHOD(HttpMessage, __destruct) +{ + getObject(http_message_object, obj); + + NO_ARGS; + +} +/* }}} */ + +/* }}} */ + #ifdef HTTP_HAVE_CURL /* {{{ HttpRequest */ @@ -1353,7 +1394,7 @@ PHP_METHOD(HttpRequest, getResponseCode) data = GET_PROP(obj, responseData); if ( (SUCCESS == zend_hash_find(Z_ARRVAL_P(data), "headers", sizeof("headers"), (void **) &hdrs)) && - (SUCCESS == zend_hash_find(Z_ARRVAL_PP(hdrs), "Status", sizeof("Status"), (void **) &code))) { + (SUCCESS == zend_hash_find(Z_ARRVAL_PP(hdrs), "Response Status", sizeof("Response Status"), (void **) &code))) { RETVAL_STRINGL(Z_STRVAL_PP(code), Z_STRLEN_PP(code), 1); convert_to_long(return_value); } else {