#include "php_http_request_method_api.h"
#ifdef HTTP_HAVE_CURL
# include "php_http_request_api.h"
+# include "php_http_request_pool_api.h"
# include "php_http_request_datashare_api.h"
# ifdef HTTP_HAVE_PERSISTENT_HANDLES
# include "php_http_persistent_handle_api.h"
# ifdef HTTP_HAVE_PERSISTENT_HANDLES
PHP_FE(http_persistent_handles_count, NULL)
PHP_FE(http_persistent_handles_clean, NULL)
+ PHP_FE(http_persistent_handles_ident, NULL)
# endif
PHP_FE(http_get, http_arg_pass_ref_3)
PHP_FE(http_head, http_arg_pass_ref_3)
G->request.time = time(NULL);
#endif
G->send.buffer_size = 0;
- G->send.not_found_404 = 1;
G->read_post_data = 0;
}
http_check_allowed_methods(new_value, new_value_length);
return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
}
+#ifdef HTTP_HAVE_PERSISTENT_HANDLES
+PHP_INI_MH(http_update_persistent_handle_ident)
+{
+ HTTP_G->persistent.handles.ident.h = zend_get_hash_value(new_value, HTTP_G->persistent.handles.ident.l = new_value_length+1);
+ return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
+}
+#endif
#ifndef ZEND_ENGINE_2
# define OnUpdateLong OnUpdateInt
HTTP_PHP_INI_ENTRY("http.send.inflate.start_flags", "0", PHP_INI_ALL, OnUpdateLong, send.inflate.start_flags)
HTTP_PHP_INI_ENTRY("http.send.deflate.start_auto", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, send.deflate.start_auto)
HTTP_PHP_INI_ENTRY("http.send.deflate.start_flags", "0", PHP_INI_ALL, OnUpdateLong, send.deflate.start_flags)
+#endif
+#ifdef HTTP_HAVE_PERSISTENT_HANDLES
+ HTTP_PHP_INI_ENTRY("http.persistent.handles.ident", "GLOBAL", PHP_INI_ALL, http_update_persistent_handle_ident, persistent.handles.ident.s)
#endif
HTTP_PHP_INI_ENTRY("http.send.not_found_404", "1", PHP_INI_ALL, OnUpdateBool, send.not_found_404)
#ifdef ZEND_ENGINE_2
#ifdef HTTP_HAVE_CURL
# ifdef HTTP_HAVE_PERSISTENT_HANDLES
(SUCCESS != PHP_MINIT_CALL(http_persistent_handle)) ||
+ (SUCCESS != PHP_MINIT_CALL(http_request_pool)) ||
# endif
(SUCCESS != PHP_MINIT_CALL(http_request)) ||
# ifdef ZEND_ENGINE_2
"http.chunked_decode, http.chunked_encode, http.deflate, http.inflate"
#endif
);
+#ifdef HTTP_HAVE_PERSISTENT_HANDLES
+ {
+ phpstr s;
+ HashTable *ht;
+ HashPosition pos;
+ HashKey key = initHashKey(0);
+ zval **val;
+
+ if ((ht = http_persistent_handle_statall())) {
+ phpstr_init(&s);
+
+ FOREACH_HASH_KEYVAL(pos, ht, key, val) {
+ phpstr_appendf(&s, "%s (%ld), ", key.str, Z_LVAL_PP(val));
+ }
+ zend_hash_destroy(ht);
+ FREE_HASHTABLE(ht);
+
+ PHPSTR_LEN(&s) -= 2; /* get rid of last ", " */
+ phpstr_fix(&s);
+
+ php_info_print_table_row(2, "Persistent Handles", PHPSTR_VAL(&s));
+ phpstr_dtor(&s);
+ } else {
+ php_info_print_table_row(2, "Persistent Handles", "none");
+ }
+ }
+#else
+ php_info_print_table_row(2, "Persistent Handles", "disabled");
+#endif
}
php_info_print_table_end();
#else
php_info_print_table_row(3, "libz", "disabled", "disabled");
#endif
-#if defined(HTTP_HAVE_MAGIC) && !defined(WONKY)
+#if defined(HTTP_HAVE_MAGIC)
php_info_print_table_row(3, "libmagic", "unknown", "unknown");
#else
php_info_print_table_row(3, "libmagic", "disabled", "disabled");