X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_info.c;h=baccfc16d536fbee22cfd595995b88cf095716ca;hp=80d4ad8d480696dbc8d80caeadb3300094e0fdf9;hb=0b83632b2b0a03eeca090f993259ccd95ab646fb;hpb=8d05291f42b3b42159b3fe91492aa4862f3d4405 diff --git a/php_http_info.c b/php_http_info.c index 80d4ad8..baccfc1 100644 --- a/php_http_info.c +++ b/php_http_info.c @@ -6,34 +6,11 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2011, Michael Wallner | + | Copyright (c) 2004-2013, Michael Wallner | +--------------------------------------------------------------------+ */ -#include "php_http.h" - -PHP_HTTP_API void php_http_info_default_callback(void **nothing, HashTable **headers, php_http_info_t *info TSRMLS_DC) -{ - zval array; - (void) nothing; - - INIT_PZVAL_ARRAY(&array, *headers); - - switch (info->type) { - case PHP_HTTP_REQUEST: - add_assoc_string(&array, "Request Method", PHP_HTTP_INFO(info).request.method, 1); - add_assoc_string(&array, "Request Url", PHP_HTTP_INFO(info).request.url, 1); - break; - - case PHP_HTTP_RESPONSE: - add_assoc_long(&array, "Response Code", (long) PHP_HTTP_INFO(info).response.code); - add_assoc_string(&array, "Response Status", PHP_HTTP_INFO(info).response.status, 1); - break; - - case PHP_HTTP_NONE: - break; - } -} +#include "php_http_api.h" PHP_HTTP_API php_http_info_t *php_http_info_init(php_http_info_t *i TSRMLS_DC) { @@ -134,7 +111,7 @@ PHP_HTTP_API php_http_info_t *php_http_info_parse(php_http_info_t *info, const c } /* is request */ - else if (!http[lenof("HTTP/1.x")] || http[lenof("HTTP/1.x")] == '\r' || http[lenof("HTTP/1.x")] == '\n') { + else if (*(http - 1) == ' ' && (!http[lenof("HTTP/1.x")] || http[lenof("HTTP/1.x")] == '\r' || http[lenof("HTTP/1.x")] == '\n')) { const char *url = strchr(pre_header, ' '); info->type = PHP_HTTP_REQUEST; @@ -145,7 +122,7 @@ PHP_HTTP_API php_http_info_t *php_http_info_parse(php_http_info_t *info, const c if (http > url) { PHP_HTTP_INFO(info).request.url = estrndup(url, http - url); } else { - efree(PHP_HTTP_INFO(info).request.method); + STR_SET(PHP_HTTP_INFO(info).request.method, NULL); return NULL; } } else {