+zend_object_value _http_request_object_clone(zval *object TSRMLS_DC)
+{
+ return http_request_object_clone_obj(object TSRMLS_CC);
+}
+
+static inline zend_object_value _http_request_object_clone_obj(zval *object TSRMLS_DC)
+{
+ zval clone;
+ getObjectEx(http_request_object, obj, object);
+
+ INIT_PZVAL(&clone);
+ clone.value.obj = http_request_object_new_ex(Z_OBJCE_P(object), curl_easy_duphandle(obj->ch));
+ {
+ getObjectEx(http_request_object, cobj, &clone);
+
+ /* copy history */
+ phpstr_append(&cobj->history, PHPSTR_VAL(&obj->history), PHPSTR_LEN(&obj->history));
+ /*
+ phpstr_append(&cobj->request, PHPSTR_VAL(&obj->request), PHPSTR_LEN(&obj->request));
+ phpstr_append(&obj->response, PHPSTR_VAL(&obj->response), PHPSTR_ÖEN(&obj->response));
+ */
+ /* copy properties */
+ zend_hash_copy(OBJ_PROP(cobj), OBJ_PROP(obj), (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *));
+
+ /* attach to pool */
+ if (obj->pool) {
+ http_request_pool_attach(obj->pool, &clone);
+ }
+ }
+
+ return clone.value.obj;
+}
+