#define HTTP_EMPTY_ARGS(method, ret_ref) HTTP_EMPTY_ARGS_EX(HttpRequestPool, method, ret_ref)
#define HTTP_REQPOOL_ME(method, visibility) PHP_ME(HttpRequestPool, method, HTTP_ARGS(HttpRequestPool, method), visibility)
-HTTP_BEGIN_ARGS_AR(HttpRequestPool, __construct, 0, 0)
+HTTP_BEGIN_ARGS(__construct, 0)
HTTP_ARG_OBJ(HttpRequest, request0, 0)
HTTP_ARG_OBJ(HttpRequest, request1, 0)
HTTP_ARG_OBJ(HttpRequest, requestN, 0)
HTTP_REQPOOL_ME(socketPerform, ZEND_ACC_PROTECTED)
HTTP_REQPOOL_ME(socketSelect, ZEND_ACC_PROTECTED)
- /* implements Interator */
+ /* implements Iterator */
HTTP_REQPOOL_ME(valid, ZEND_ACC_PUBLIC)
HTTP_REQPOOL_ME(current, ZEND_ACC_PUBLIC)
HTTP_REQPOOL_ME(key, ZEND_ACC_PUBLIC)
* able to send several HttpRequests in parallel.
*
* WARNING: Don't attach/detach HttpRequest objects to the HttpRequestPool
- * object while you're using the implemented Interator interface.
+ * object while you're using the implemented Iterator interface.
*
* Accepts virtual infinite optional parameters each referencing an
* HttpRequest object.
*
- * Throws HttpRequestException, HttpRequestPoolException, HttpInvalidParamException.
+ * Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).
*
* Example:
* <pre>
zval ***argv = safe_emalloc(argc, sizeof(zval *), 0);
getObject(http_requestpool_object, obj);
+ SET_EH_THROW_HTTP();
if (SUCCESS == zend_get_parameters_array_ex(argc, argv)) {
int i;
for (i = 0; i < argc; ++i) {
if (Z_TYPE_PP(argv[i]) == IS_OBJECT && instanceof_function(Z_OBJCE_PP(argv[i]), http_request_object_ce TSRMLS_CC)) {
- http_request_pool_attach(&obj->pool, *(argv[i]));
+ http_request_pool_try {
+ http_request_pool_attach(&obj->pool, *(argv[i]));
+ } http_request_pool_catch();
}
}
+ http_request_pool_final();
}
efree(argv);
+ SET_EH_NORMAL();
}
/* }}} */
*
* Returns TRUE on success, or FALSE on failure.
*
- * Throws HttpSocketException, HttpRequestException,
- * HttpRequestPoolException, HttpMalformedHeaderException.
+ * Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).
*/
PHP_METHOD(HttpRequestPool, send)
{