X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=http_info_api.c;h=b1ffcbc4c8ea9372ef76d4e7e7d8c9025e7c109f;hb=43923eca4429ed3ce5fb85407345d7030a1879f1;hp=a6b12139e3d56126dc1e15e9c62fb2c11b2af7d3;hpb=35a74f686e9784979df497a66e395b055f5a19e0;p=m6w6%2Fext-http diff --git a/http_info_api.c b/http_info_api.c index a6b1213..b1ffcbc 100644 --- a/http_info_api.c +++ b/http_info_api.c @@ -1,16 +1,13 @@ /* - +----------------------------------------------------------------------+ - | PECL :: http | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.0 of the PHP license, that | - | is bundled with this package in the file LICENSE, and is available | - | through the world-wide-web at http://www.php.net/license/3_0.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Copyright (c) 2004-2005 Michael Wallner | - +----------------------------------------------------------------------+ + +--------------------------------------------------------------------+ + | PECL :: http | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted provided that the conditions mentioned | + | in the accompanying LICENSE file are met. | + +--------------------------------------------------------------------+ + | Copyright (c) 2004-2005, Michael Wallner | + +--------------------------------------------------------------------+ */ /* $Id$ */ @@ -18,21 +15,17 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif -#include "php.h" #include "php_http.h" + #include "php_http_api.h" -#include "php_http_std_defs.h" #include "php_http_info_api.h" -#include - -ZEND_EXTERN_MODULE_GLOBALS(http); - PHP_HTTP_API void _http_info_default_callback(void **nothing, HashTable **headers, http_info *info TSRMLS_DC) { zval array; - Z_ARRVAL(array) = *headers; + + INIT_ZARR(array, *headers); switch (info->type) { @@ -121,7 +114,7 @@ PHP_HTTP_API STATUS _http_info_parse_ex(const char *pre_header, http_info *info, } /* is request */ - else { + else if (!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 = IS_HTTP_REQUEST; @@ -135,6 +128,11 @@ PHP_HTTP_API STATUS _http_info_parse_ex(const char *pre_header, http_info *info, return SUCCESS; } + + /* some darn header containing HTTP/1.x */ + else { + return FAILURE; + } }