X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_message_object.h;h=fb7a5bc74b90c9ba696b9eebbb3975aebabb92da;hp=46a1dd536283f0b7ed6ffb6647af40a4977abc5b;hb=694baf9ab90e84d6194aa5fc84757926b17deafc;hpb=e434da0fad7db62d86c236c68b22150165f2647a diff --git a/php_http_message_object.h b/php_http_message_object.h index 46a1dd5..fb7a5bc 100644 --- a/php_http_message_object.h +++ b/php_http_message_object.h @@ -24,7 +24,7 @@ typedef struct { zend_object zo; http_message *message; - zval _tmp_property; + zend_object_value parent; } http_message_object; extern zend_class_entry *http_message_object_ce; @@ -40,19 +40,30 @@ extern zend_object_value _http_message_object_new_ex(zend_class_entry *ce, http_ #define http_message_object_free _http_message_object_free extern void _http_message_object_free(zend_object *object TSRMLS_DC); -#define HTTP_MSG_PROPHASH_TYPE 276192743LU +#define HTTP_MSG_PROPHASH_TYPE 276192743LU #define HTTP_MSG_PROPHASH_HTTP_VERSION 1138628683LU -#define HTTP_MSG_PROPHASH_RAW 2090679983LU -#define HTTP_MSG_PROPHASH_BODY 254474387LU +#define HTTP_MSG_PROPHASH_BODY 254474387LU #define HTTP_MSG_PROPHASH_HEADERS 3199929089LU -#define HTTP_MSG_PROPHASH_NESTED_MESSAGE 3652857165LU +#define HTTP_MSG_PROPHASH_PARENT_MESSAGE 2105714836LU #define HTTP_MSG_PROPHASH_REQUEST_METHOD 1669022159LU #define HTTP_MSG_PROPHASH_REQUEST_URI 3208695486LU #define HTTP_MSG_PROPHASH_RESPONSE_STATUS 3857097400LU #define HTTP_MSG_PROPHASH_RESPONSE_CODE 1305615119LU +#define HTTP_MSG_CHECK_OBJ(obj, dofail) \ + if (!(obj)->message) { \ + http_error(E_WARNING, HTTP_E_MSG, "HttpMessage is empty"); \ + dofail; \ + } +#define HTTP_MSG_CHECK_STD() HTTP_MSG_CHECK_OBJ(obj, RETURN_FALSE) + +#define HTTP_MSG_INIT_OBJ(obj) \ + if (!(obj)->message) { \ + (obj)->message = http_message_new(); \ + } +#define HTTP_MSG_INIT_STD() HTTP_MSG_INIT_OBJ(obj) + PHP_METHOD(HttpMessage, __construct); -PHP_METHOD(HttpMessage, setRaw); PHP_METHOD(HttpMessage, getBody); PHP_METHOD(HttpMessage, getHeaders); PHP_METHOD(HttpMessage, setHeaders); @@ -67,7 +78,8 @@ PHP_METHOD(HttpMessage, getRequestUri); PHP_METHOD(HttpMessage, setRequestUri); PHP_METHOD(HttpMessage, getHttpVersion); PHP_METHOD(HttpMessage, setHttpVersion); -PHP_METHOD(HttpMessage, getNestedMessage); +PHP_METHOD(HttpMessage, getParentMessage); +PHP_METHOD(HttpMessage, send); PHP_METHOD(HttpMessage, toString); PHP_METHOD(HttpMessage, fromString);