+extern int http_module_number;
+
+ZEND_BEGIN_MODULE_GLOBALS(http)
+
+ struct _http_globals_etag {
+ char *mode;
+ void *ctx;
+ zend_bool started;
+ } etag;
+
+ struct _http_globals_log {
+ char *cache;
+ char *redirect;
+ char *not_found;
+ char *allowed_methods;
+ char *composite;
+ } log;
+
+ struct _http_globals_send {
+ double throttle_delay;
+ size_t buffer_size;
+ char *content_type;
+ char *unquoted_etag;
+ time_t last_modified;
+ struct _http_globals_send_deflate {
+ zend_bool response;
+ 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;
+ zend_bool not_found_404;
+ } send;
+
+ struct _http_globals_request {
+ time_t time;
+ HashTable *headers;
+ struct _http_globals_request_methods {
+ HashTable registered;
+ char *allowed;
+ char *custom;
+ } methods;
+#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_CURL)
+ struct _http_globals_request_datashare {
+ zend_llist handles;
+ zend_bool cookie;
+ zend_bool dns;
+ zend_bool ssl;
+ zend_bool connect;
+ } datashare;
+#endif
+#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_EVENT)
+ struct _http_globals_request_pool {
+ struct _http_globals_request_pool_event {
+ void *base;
+ } event;
+ } pool;
+#endif
+ } request;
+
+ struct _http_globals_persistent {
+ struct _http_globals_persistent_handles {
+ ulong limit;
+ struct _http_globals_persistent_handles_ident {
+ ulong h;
+ char *s;
+ size_t l;
+ } ident;
+ } handles;
+ } persistent;
+
+#ifdef ZEND_ENGINE_2
+ zend_bool only_exceptions;
+#endif
+
+ zend_bool force_exit;
+ zend_bool read_post_data;
+ zval *server_var;
+
+ZEND_END_MODULE_GLOBALS(http)
+
+ZEND_EXTERN_MODULE_GLOBALS(http);
+