| modification, are permitted provided that the conditions mentioned |
| in the accompanying LICENSE file are met. |
+--------------------------------------------------------------------+
- | Copyright (c) 2004-2013, Michael Wallner <mike@php.net> |
+ | Copyright (c) 2004-2014, Michael Wallner <mike@php.net> |
+--------------------------------------------------------------------+
*/
#include <ext/date/php_date.h>
#include <zend_interfaces.h>
+#include <zend_exceptions.h>
+
#ifdef PHP_WIN32
# define PHP_HTTP_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
-# define PHP_HTTP_API __attribute__ ((visibility("default")))
+# define PHP_HTTP_API extern __attribute__ ((visibility("default")))
#else
-# define PHP_HTTP_API
+# define PHP_HTTP_API extern
#endif
-/* make functions that return SUCCESS|FAILURE more obvious */
-typedef int STATUS;
-
#if (defined(HAVE_ICONV) || defined(PHP_HTTP_HAVE_EXT_ICONV)) && (PHP_HTTP_SHARED_DEPS || !defined(COMPILE_DL_ICONV))
# define PHP_HTTP_HAVE_ICONV
#endif
# define PHP_HTTP_HAVE_HASH
#endif
-#if (defined(HAVE_JSON) || defined(PHP_HTTP_HAVE_EXT_JSON)) && (PHP_HTTP_SHARED_DEPS || !defined(COMPILE_DL_JSON))
-# define PHP_HTTP_HAVE_JSON
-#endif
+#include <stddef.h>
#ifdef PHP_WIN32
# define CURL_STATICLIB
-# define PHP_HTTP_HAVE_NETDB
# include <winsock2.h>
-#elif defined(HAVE_NETDB_H)
-# define PHP_HTTP_HAVE_NETDB
-# include <netdb.h>
+#else
+# ifdef HAVE_NETDB_H
+# include <netdb.h>
+# endif
# ifdef HAVE_UNISTD_H
# include <unistd.h>
# endif
-# ifdef HAVE_ERRNO_H
-# include <errno.h>
-# endif
+#endif
+
+#if defined(HAVE_WCHAR_H) && defined(HAVE_WCTYPE_H) && defined(HAVE_ISWALNUM) && (defined(HAVE_MBRTOWC) || defined(HAVE_MBTOWC))
+# define PHP_HTTP_HAVE_WCHAR 1
#endif
#include <ctype.h>
#include "php_http.h"
#include "php_http_buffer.h"
-#include "php_http_strlist.h"
#include "php_http_misc.h"
#include "php_http_options.h"
#include "php_http_exception.h"
#include "php_http_filter.h"
#include "php_http_header_parser.h"
-#include "php_http_headers.h"
+#include "php_http_header.h"
#include "php_http_message_body.h"
#include "php_http_message_parser.h"
#include "php_http_negotiate.h"
ZEND_BEGIN_MODULE_GLOBALS(php_http)
struct php_http_env_globals env;
-#if PHP_HTTP_HAVE_CURL && PHP_HTTP_HAVE_EVENT
- struct php_http_curl_globals curl;
+#ifdef PHP_HTTP_HAVE_CLIENT
+ struct {
+#ifdef PHP_HTTP_HAVE_CURL
+ struct php_http_client_curl_globals curl;
+#endif
+ } client;
#endif
ZEND_END_MODULE_GLOBALS(php_http)
#ifdef ZTS
# include "TSRM/TSRM.h"
-# define PHP_HTTP_G ((zend_php_http_globals *) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(php_http_globals_id)])
+# define PHP_HTTP_G ((zend_php_http_globals *) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(php_http_globals_id)])
# undef TSRMLS_FETCH_FROM_CTX
-# define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = ((ctx)?(ctx):ts_resource_ex(0, NULL))
+# define TSRMLS_FETCH_FROM_CTX(ctx) ERROR
#else
# define PHP_HTTP_G (&php_http_globals)
#endif