X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_functions.c;h=a46d02883b1dc9bc5d2487bc9a54c4ee2a020b06;hp=544a32b2dc703e8723aedf402270246dd26dae59;hb=64b8eb68455c36e7e153014deaf52a6f9d2de39c;hpb=a411f666c2fedae19c96bc7b9fdb2a7e677ffdc0 diff --git a/http_functions.c b/http_functions.c index 544a32b..a46d028 100644 --- a/http_functions.c +++ b/http_functions.c @@ -18,17 +18,14 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif - #include "php.h" + +#include "SAPI.h" #include "php_ini.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" @@ -42,6 +39,8 @@ #include "php_http_send_api.h" #include "php_http_url_api.h" +#include "phpstr/phpstr.h" + ZEND_EXTERN_MODULE_GLOBALS(http) /* {{{ proto string http_date([int timestamp]) @@ -460,7 +459,7 @@ PHP_FUNCTION(http_redirect) size_t query_len = 0; zend_bool session = 0, permanent = 0; zval *params = NULL; - char *query, *url, *URI, + char *query = NULL, *url = NULL, *URI, LOC[HTTP_URI_MAXLEN + sizeof("Location: ")], RED[HTTP_URI_MAXLEN * 2 + sizeof("Redirecting to %s?%s.\n")]; @@ -663,6 +662,25 @@ PHP_FUNCTION(http_get_request_headers) } /* }}} */ +/* {{{ proto string http_get_request_body(void) + * + * Get the raw request body (e.g. POST or PUT data). + */ +PHP_FUNCTION(http_get_request_body) +{ + char *body; + size_t length; + + NO_ARGS; + + if (SUCCESS == http_get_request_body(&body, &length)) { + RETURN_STRINGL(body, (int) length, 0); + } else { + RETURN_NULL(); + } +} +/* }}} */ + /* {{{ proto bool http_match_request_header(string header, string value[, bool match_case = false]) * * Match an incoming HTTP header.