X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_object.c;h=1c0f39a6b106774320dcb785e58b851a9b1e71c9;hb=5773d11d8c9c28fb8b0e3389258f548fc4717892;hp=11a623030077bb658649f77f262f203bc07702a1;hpb=caef0e9b14e6c7fcaa50685a5a3eb46dc1df65ec;p=m6w6%2Fext-http diff --git a/http_request_object.c b/http_request_object.c index 11a6230..1c0f39a 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -190,6 +190,13 @@ HTTP_BEGIN_ARGS(postFields, 2) HTTP_ARG_VAL(info, 1) HTTP_END_ARGS; +HTTP_BEGIN_ARGS(putData, 2) + HTTP_ARG_VAL(url, 0) + HTTP_ARG_VAL(data, 0) + HTTP_ARG_VAL(options, 0) + HTTP_ARG_VAL(info, 1) +HTTP_END_ARGS; + HTTP_BEGIN_ARGS(putFile, 2) HTTP_ARG_VAL(url, 0) HTTP_ARG_VAL(file, 0) @@ -220,6 +227,11 @@ HTTP_BEGIN_ARGS(methodExists, 1) HTTP_ARG_VAL(method, 0) HTTP_END_ARGS; +HTTP_BEGIN_ARGS(encodeBody, 2) + HTTP_ARG_VAL(fields, 0) + HTTP_ARG_VAL(files, 0) +HTTP_END_ARGS; + #define OBJ_PROP_CE http_request_object_ce zend_class_entry *http_request_object_ce; zend_function_entry http_request_object_fe[] = { @@ -291,6 +303,7 @@ zend_function_entry http_request_object_fe[] = { HTTP_REQUEST_ALIAS(head, http_head) HTTP_REQUEST_ALIAS(postData, http_post_data) HTTP_REQUEST_ALIAS(postFields, http_post_fields) + HTTP_REQUEST_ALIAS(putData, http_put_data) HTTP_REQUEST_ALIAS(putFile, http_put_file) HTTP_REQUEST_ALIAS(putStream, http_put_stream) @@ -298,6 +311,8 @@ zend_function_entry http_request_object_fe[] = { HTTP_REQUEST_ALIAS(methodUnregister, http_request_method_unregister) HTTP_REQUEST_ALIAS(methodName, http_request_method_name) HTTP_REQUEST_ALIAS(methodExists, http_request_method_exists) + + HTTP_REQUEST_ALIAS(encodeBody, http_request_body_encode) EMPTY_FUNCTION_ENTRY }; @@ -693,7 +708,9 @@ STATUS _http_request_object_responsehandler(http_request_object *obj, zval *this MAKE_STD_ZVAL(param); ZVAL_BOOL(param, ret == SUCCESS); - zend_call_method_with_1_params(&getThis(), Z_OBJCE_P(getThis()), NULL, "onfinish", NULL, param); + with_error_handling(EH_NORMAL, NULL) { + zend_call_method_with_1_params(&getThis(), Z_OBJCE_P(getThis()), NULL, "onfinish", NULL, param); + } end_error_handling(); zval_ptr_dtor(¶m); } @@ -755,7 +772,7 @@ static inline void _http_request_get_options_subr(INTERNAL_FUNCTION_PARAMETERS, { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { zval *opts, **options; opts = GET_PROP(options); @@ -883,7 +900,7 @@ PHP_METHOD(HttpRequest, getOptions) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(options); } } @@ -1045,7 +1062,7 @@ PHP_METHOD(HttpRequest, getUrl) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(url); } } @@ -1083,7 +1100,7 @@ PHP_METHOD(HttpRequest, getMethod) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(method); } } @@ -1126,7 +1143,7 @@ PHP_METHOD(HttpRequest, getContentType) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(contentType); } } @@ -1185,7 +1202,7 @@ PHP_METHOD(HttpRequest, getQueryData) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(queryData); } } @@ -1297,7 +1314,7 @@ PHP_METHOD(HttpRequest, getPostFields) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(postFields); } } @@ -1377,7 +1394,7 @@ PHP_METHOD(HttpRequest, getRawPostData) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(rawPostData); } } @@ -1475,7 +1492,7 @@ PHP_METHOD(HttpRequest, getPostFiles) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(postFiles); } } @@ -1514,7 +1531,7 @@ PHP_METHOD(HttpRequest, getPutFile) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(putFile); } } @@ -1594,7 +1611,7 @@ PHP_METHOD(HttpRequest, getPutData) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(putData); } } @@ -1615,7 +1632,7 @@ PHP_METHOD(HttpRequest, getResponseData) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(responseData); } } @@ -1636,7 +1653,7 @@ PHP_METHOD(HttpRequest, getResponseData) */ PHP_METHOD(HttpRequest, getResponseHeader) { - IF_RETVAL_USED { + if (return_value_used) { zval *data, **headers, **header; char *header_name = NULL; int header_len = 0; @@ -1674,7 +1691,7 @@ PHP_METHOD(HttpRequest, getResponseHeader) */ PHP_METHOD(HttpRequest, getResponseCookies) { - IF_RETVAL_USED { + if (return_value_used) { long flags = 0; zval *allowed_extras_array = NULL, *data, **headers; @@ -1770,7 +1787,7 @@ PHP_METHOD(HttpRequest, getResponseBody) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { zval **body; zval *data = GET_PROP(responseData); @@ -1797,7 +1814,7 @@ PHP_METHOD(HttpRequest, getResponseCode) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(responseCode); } } @@ -1813,7 +1830,7 @@ PHP_METHOD(HttpRequest, getResponseStatus) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { RETURN_PROP(responseStatus); } } @@ -1837,7 +1854,7 @@ PHP_METHOD(HttpRequest, getResponseStatus) */ PHP_METHOD(HttpRequest, getResponseInfo) { - IF_RETVAL_USED { + if (return_value_used) { zval *info, **infop; char *info_name = NULL; int info_len = 0; @@ -1918,7 +1935,7 @@ PHP_METHOD(HttpRequest, getRequestMessage) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { http_message *msg; getObject(http_request_object, obj); @@ -1941,7 +1958,7 @@ PHP_METHOD(HttpRequest, getRawRequestMessage) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { getObject(http_request_object, obj); RETURN_PHPSTR_DUP(&obj->request->conv.request); @@ -1959,7 +1976,7 @@ PHP_METHOD(HttpRequest, getRawResponseMessage) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { getObject(http_request_object, obj); RETURN_PHPSTR_DUP(&obj->request->conv.response); @@ -1986,7 +2003,7 @@ PHP_METHOD(HttpRequest, getHistory) { NO_ARGS; - IF_RETVAL_USED { + if (return_value_used) { zval *hist; SET_EH_THROW_HTTP();