X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_functions.c;h=0b39b72cf36ef5e30715d0ea604edc474f0498a3;hp=1c8c2a2e01ea0cea71bc67c033e8c882ddcae350;hb=bf7c808caf569c8533a1e7226765cff87c462ab7;hpb=4771803db3e5de9f9ef64fa926a4e11f8e892d70 diff --git a/http_functions.c b/http_functions.c index 1c8c2a2..0b39b72 100644 --- a/http_functions.c +++ b/http_functions.c @@ -21,21 +21,28 @@ #include "php.h" #include "php_ini.h" -#include "snprintf.h" #include "ext/standard/info.h" #include "ext/session/php_session.h" #include "ext/standard/php_string.h" #include "SAPI.h" +#include "phpstr/phpstr.h" + #include "php_http.h" +#include "php_http_std_defs.h" #include "php_http_api.h" +#include "php_http_auth_api.h" #include "php_http_curl_api.h" -#include "php_http_std_defs.h" - -#include "phpstr/phpstr.h" +#include "php_http_cache_api.h" +#include "php_http_curl_api.h" +#include "php_http_date_api.h" +#include "php_http_headers_api.h" +#include "php_http_message_api.h" +#include "php_http_send_api.h" +#include "php_http_url_api.h" -ZEND_DECLARE_MODULE_GLOBALS(http) +ZEND_EXTERN_MODULE_GLOBALS(http) /* {{{ proto string http_date([int timestamp]) * @@ -580,7 +587,6 @@ PHP_FUNCTION(http_chunked_decode) * 0 => array( * 'Status' => '200 Ok', * 'Content-Type' => 'text/plain', - * 'Content-Language' => 'en-US' * ), * 1 => "Hello World!" @@ -738,7 +744,7 @@ PHP_FUNCTION(http_get) array_init(info); } - if (SUCCESS == http_get(URL, HASH_ORNULL(options), HASH_ORNULL(info), &data, &data_len)) { + if (SUCCESS == http_get(URL, Z_ARRVAL_P(options), Z_ARRVAL_P(info), &data, &data_len)) { RETURN_STRINGL(data, data_len, 0); } else { RETURN_FALSE; @@ -768,7 +774,7 @@ PHP_FUNCTION(http_head) array_init(info); } - if (SUCCESS == http_head(URL, HASH_ORNULL(options), HASH_ORNULL(info), &data, &data_len)) { + if (SUCCESS == http_head(URL, Z_ARRVAL_P(options), Z_ARRVAL_P(info), &data, &data_len)) { RETURN_STRINGL(data, data_len, 0); } else { RETURN_FALSE; @@ -798,7 +804,7 @@ PHP_FUNCTION(http_post_data) array_init(info); } - if (SUCCESS == http_post_data(URL, postdata, (size_t) postdata_len, HASH_ORNULL(options), HASH_ORNULL(info), &data, &data_len)) { + if (SUCCESS == http_post_data(URL, postdata, (size_t) postdata_len, Z_ARRVAL_P(options), Z_ARRVAL_P(info), &data, &data_len)) { RETURN_STRINGL(data, data_len, 0); } else { RETURN_FALSE; @@ -828,7 +834,7 @@ PHP_FUNCTION(http_post_array) array_init(info); } - if (SUCCESS == http_post_array(URL, Z_ARRVAL_P(postdata), HASH_ORNULL(options), HASH_ORNULL(info), &data, &data_len)) { + if (SUCCESS == http_post_array(URL, Z_ARRVAL_P(postdata), Z_ARRVAL_P(options), Z_ARRVAL_P(info), &data, &data_len)) { RETURN_STRINGL(data, data_len, 0); } else { RETURN_FALSE; @@ -957,9 +963,9 @@ PHP_FUNCTION(http_auth_basic_cb) PHP_FUNCTION(http_build_query) { zval *formdata; - int prefix_len = 0, arg_sep_len = 0; char *prefix = NULL, *arg_sep = INI_STR("arg_separator.output"); - phpstr *formstr = phpstr_new(); + int prefix_len = 0, arg_sep_len = strlen(arg_sep); + phpstr *formstr; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|ss", &formdata, &prefix, &prefix_len, &arg_sep, &arg_sep_len) != SUCCESS) { RETURN_FALSE; @@ -971,10 +977,11 @@ PHP_FUNCTION(http_build_query) } if (!arg_sep_len) { - arg_sep = HTTP_URL_ARGSEP_DEFAULT; + arg_sep = HTTP_URL_ARGSEP; } - if (SUCCESS != http_urlencode_hash_implementation_ex(HASH_OF(formdata), formstr, arg_sep, prefix, prefix_len, NULL, 0, NULL, 0, (Z_TYPE_P(formdata) == IS_OBJECT ? formdata : NULL) TSRMLS_CC)) { + formstr = phpstr_new(); + if (SUCCESS != http_urlencode_hash_implementation_ex(HASH_OF(formdata), formstr, arg_sep, prefix, prefix_len, NULL, 0, NULL, 0, (Z_TYPE_P(formdata) == IS_OBJECT ? formdata : NULL))) { phpstr_free(formstr); RETURN_FALSE; } @@ -992,7 +999,6 @@ PHP_FUNCTION(http_build_query) PHP_FUNCTION(http_test) { - RETURN_TRUE; } /*