X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=7e82c04037a7073e6b6ea59561f1fe0b27c7baa5;hp=870eb616c8771ef7a8152468ce4e53b301610925;hb=98e0618077ab00672dd0e6e134d4722e033d827e;hpb=fcf85b3a8cb603e8673058ad6f7c845e8c378060 diff --git a/php_http.h b/php_http.h index 870eb61..7e82c04 100644 --- a/php_http.h +++ b/php_http.h @@ -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-2006, Michael Wallner | + +--------------------------------------------------------------------+ */ /* $Id$ */ @@ -18,17 +15,61 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define HTTP_PEXT_VERSION "0.14.1dev" +#define PHP_EXT_HTTP_VERSION "0.23.0dev" -/* make compile on Win32 */ -#ifdef HTTP_HAVE_CURL +#ifdef HAVE_CONFIG_H +# include "config.h" +#else +# ifndef PHP_WIN32 +# include "php_config.h" +# endif +#endif + +#include "php.h" +#include "php_http_std_defs.h" +#include "phpstr/phpstr.h" +#include "missing.h" + +#ifdef HTTP_WANT_SAPI +# if PHP_API_VERSION > 20041225 +# define HTTP_HAVE_SAPI_RTIME +# define HTTP_GET_REQUEST_TIME() sapi_get_request_time(TSRMLS_C) +# else +# define HTTP_GET_REQUEST_TIME() HTTP_G(request_time) +# endif +# include "SAPI.h" +#endif + +#ifdef HTTP_WANT_NETDB # ifdef PHP_WIN32 +# define HTTP_HAVE_NETDB # include +# elif defined(HAVE_NETDB_H) +# define HTTP_HAVE_NETDB +# include +# endif +#endif + +#if defined(HTTP_WANT_CURL) && defined(HTTP_HAVE_CURL) +# ifdef PHP_WIN32 +# include +# define CURL_STATICLIB # endif # include #endif -#include "phpstr/phpstr.h" +#if defined(HTTP_WANT_MAGIC) && defined(HTTP_HAVE_MAGIC) +# if defined(PHP_WIN32) && !defined(USE_MAGIC_DLL) && !defined(USE_MAGIC_STATIC) +# define USE_MAGIC_STATIC +# endif +# include +#endif + +#if defined(HTTP_WANT_ZLIB) && defined(HTTP_HAVE_ZLIB) +# include +#endif + +#include extern zend_module_entry http_module_entry; #define phpext_http_ptr &http_module_entry @@ -37,11 +78,8 @@ extern int http_module_number; ZEND_BEGIN_MODULE_GLOBALS(http) -#ifdef ZEND_ENGINE_2 - zend_bool only_exceptions; -#endif struct _http_globals_etag { - long mode; + char *mode; void *ctx; zend_bool started; } etag; @@ -59,29 +97,43 @@ ZEND_BEGIN_MODULE_GLOBALS(http) char *content_type; char *unquoted_etag; time_t last_modified; + struct _http_globals_send_deflate { + zend_bool start_auto; + long start_flags; + int encoding; + void *stream; + } deflate; + struct _http_globals_send_inflate { + zend_bool start_auto; + long start_flags; + void *stream; + } inflate; } send; struct _http_globals_request { struct _http_globals_request_methods { char *allowed; - HashTable custom; + struct _http_globals_request_methods_custom { + int count; + void *entries; + } custom; } methods; - -#ifdef HTTP_HAVE_CURL - struct _http_globals_request_copies { - zend_llist strings; - zend_llist slists; - zend_llist contexts; - zend_llist convs; - } copies; -# ifndef HAVE_CURL_EASY_STRERROR - char error[CURL_ERROR_SIZE + 1]; -# endif -#endif /* HTTP_HAVE_CURL */ } request; +#ifndef HTTP_HAVE_SAPI_RTIME + time_t request_time; +#endif +#ifdef ZEND_ENGINE_2 + zend_bool only_exceptions; +#endif + + zend_bool force_exit; + zend_bool read_post_data; + ZEND_END_MODULE_GLOBALS(http) +ZEND_EXTERN_MODULE_GLOBALS(http); + #ifdef ZTS # include "TSRM.h" # define HTTP_G(v) TSRMG(http_globals_id, zend_http_globals *, v) @@ -90,13 +142,15 @@ ZEND_END_MODULE_GLOBALS(http) # define HTTP_G(v) (http_globals.v) # define HTTP_GLOBALS (&http_globals) #endif -#define getGlobals(G) zend_http_globals *G = HTTP_GLOBALS; +#define getGlobals(G) zend_http_globals *G = HTTP_GLOBALS PHP_FUNCTION(http_test); PHP_FUNCTION(http_date); -PHP_FUNCTION(http_absolute_uri); +PHP_FUNCTION(http_build_url); +PHP_FUNCTION(http_build_str); PHP_FUNCTION(http_negotiate_language); PHP_FUNCTION(http_negotiate_charset); +PHP_FUNCTION(http_negotiate_content_type); PHP_FUNCTION(http_redirect); PHP_FUNCTION(http_throttle); PHP_FUNCTION(http_send_status); @@ -113,8 +167,10 @@ PHP_FUNCTION(http_send_stream); PHP_FUNCTION(http_chunked_decode); PHP_FUNCTION(http_parse_message); PHP_FUNCTION(http_parse_headers); +PHP_FUNCTION(http_parse_cookie); PHP_FUNCTION(http_get_request_headers); PHP_FUNCTION(http_get_request_body); +PHP_FUNCTION(http_get_request_body_stream); PHP_FUNCTION(http_match_request_header); #ifdef HTTP_HAVE_CURL PHP_FUNCTION(http_get); @@ -128,10 +184,14 @@ PHP_FUNCTION(http_request_method_register); PHP_FUNCTION(http_request_method_unregister); PHP_FUNCTION(http_request_method_exists); PHP_FUNCTION(http_request_method_name); -#ifndef ZEND_ENGINE_2 -PHP_FUNCTION(http_build_query); -#endif /* ZEND_ENGINE_2 */ PHP_FUNCTION(ob_etaghandler); +#ifdef HTTP_HAVE_ZLIB +PHP_FUNCTION(http_deflate); +PHP_FUNCTION(http_inflate); +PHP_FUNCTION(ob_deflatehandler); +PHP_FUNCTION(ob_inflatehandler); +#endif +PHP_FUNCTION(http_support); PHP_MINIT_FUNCTION(http); PHP_MSHUTDOWN_FUNCTION(http);