X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_message.c;h=8ba4f498eea952f632ade56b85eb4fd78eb63404;hb=a18e662d5ff2c4e7051e028f8002dbba720cccd6;hp=b25f69741126b67d85ab6f167f63558432b8ba64;hpb=880540695ec6784e5570a15533467f7dff98d4f1;p=m6w6%2Fext-http diff --git a/php_http_message.c b/php_http_message.c index b25f697..8ba4f49 100644 --- a/php_http_message.c +++ b/php_http_message.c @@ -542,6 +542,10 @@ PHP_HTTP_BEGIN_ARGS(setBody, 1) PHP_HTTP_ARG_VAL(body, 0) PHP_HTTP_END_ARGS; +PHP_HTTP_BEGIN_ARGS(addBody, 1) + PHP_HTTP_ARG_VAL(body, 0) +PHP_HTTP_END_ARGS; + PHP_HTTP_BEGIN_ARGS(getHeader, 1) PHP_HTTP_ARG_VAL(header, 0) PHP_HTTP_END_ARGS; @@ -610,7 +614,7 @@ PHP_HTTP_BEGIN_ARGS(toCallback, 1) PHP_HTTP_ARG_VAL(callback, 0) PHP_HTTP_END_ARGS; PHP_HTTP_BEGIN_ARGS(toStream, 1) - HTTP_ARG_VAL(stream, 0) + PHP_HTTP_ARG_VAL(stream, 0) PHP_HTTP_END_ARGS; PHP_HTTP_EMPTY_ARGS(count); @@ -647,6 +651,7 @@ zend_function_entry php_http_message_method_entry[] = { PHP_HTTP_MESSAGE_ME(__construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) PHP_HTTP_MESSAGE_ME(getBody, ZEND_ACC_PUBLIC) PHP_HTTP_MESSAGE_ME(setBody, ZEND_ACC_PUBLIC) + PHP_HTTP_MESSAGE_ME(addBody, ZEND_ACC_PUBLIC) PHP_HTTP_MESSAGE_ME(getHeader, ZEND_ACC_PUBLIC) PHP_HTTP_MESSAGE_ME(setHeader, ZEND_ACC_PUBLIC) PHP_HTTP_MESSAGE_ME(addHeader, ZEND_ACC_PUBLIC) @@ -1258,6 +1263,20 @@ PHP_METHOD(HttpMessage, setBody) RETVAL_ZVAL(getThis(), 1, 0); } +PHP_METHOD(HttpMessage, addBody) +{ + zval *new_body; + + if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &new_body, php_http_message_body_class_entry)) { + php_http_message_body_object_t *old_obj = zend_object_store_get_object(getThis() TSRMLS_CC); + php_http_message_body_object_t *new_obj = zend_object_store_get_object(new_body TSRMLS_CC); + + php_http_message_body_to_callback(old_obj->body, (php_http_pass_callback_t) php_http_message_body_append, new_obj->body, 0, 0); + } + RETVAL_ZVAL(getThis(), 1, 0); +} + + PHP_METHOD(HttpMessage, getHeader) { char *header_str;