X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_message_body.h;h=18670bd637ea4afd9677a2fb5d68caae767d9818;hp=74936c0200b215e1685978517a5b57342d6c9bf0;hb=4d68865693332389b875e4466f8b5368c0876e15;hpb=8d05291f42b3b42159b3fe91492aa4862f3d4405 diff --git a/php_http_message_body.h b/php_http_message_body.h index 74936c0..18670bd 100644 --- a/php_http_message_body.h +++ b/php_http_message_body.h @@ -22,12 +22,30 @@ typedef struct php_http_message_body { #endif } php_http_message_body_t; +typedef enum php_http_message_body_file_is { + PHP_HTTP_MESSAGE_BODY_FILE_IS_EMPTY, + PHP_HTTP_MESSAGE_BODY_FILE_IS_DATA, + PHP_HTTP_MESSAGE_BODY_FILE_IS_PATH, + PHP_HTTP_MESSAGE_BODY_FILE_IS_STREAM +} php_http_message_body_file_is_t; + +typedef struct php_http_message_body_file { + php_http_message_body_file_is_t type; + size_t length; + union { + char *data; + char *path; + php_stream *stream; + } file; +} php_http_message_body_file_t; + PHP_HTTP_API php_http_message_body_t *php_http_message_body_init(php_http_message_body_t *body, php_stream *stream TSRMLS_DC); PHP_HTTP_API php_http_message_body_t *php_http_message_body_copy(php_http_message_body_t *from, php_http_message_body_t *to, zend_bool dup_internal_stream_and_contents); PHP_HTTP_API STATUS php_http_message_body_add(php_http_message_body_t *body, HashTable *fields, HashTable *files); PHP_HTTP_API STATUS php_http_message_body_add_field(php_http_message_body_t *body, const char *name, const char *value_str, size_t value_len); -PHP_HTTP_API STATUS php_http_message_body_add_file(php_http_message_body_t *body, const char *name, const char *path, const char *ctype); +PHP_HTTP_API STATUS php_http_message_body_add_file(php_http_message_body_t *body, const char *name, const char *ctype, const char *file, php_stream *stream); PHP_HTTP_API size_t php_http_message_body_append(php_http_message_body_t *body, const char *buf, size_t len); +PHP_HTTP_API size_t php_http_message_body_appendf(php_http_message_body_t *body, const char *fmt, ...); PHP_HTTP_API void php_http_message_body_to_string(php_http_message_body_t *body, char **buf, size_t *len, off_t offset, size_t forlen); PHP_HTTP_API void php_http_message_body_to_stream(php_http_message_body_t *body, php_stream *s, off_t offset, size_t forlen); PHP_HTTP_API void php_http_message_body_to_callback(php_http_message_body_t *body, php_http_pass_callback_t cb, void *cb_arg, off_t offset, size_t forlen); @@ -67,6 +85,8 @@ PHP_METHOD(HttpMessageBody, toStream); PHP_METHOD(HttpMessageBody, toCallback); PHP_METHOD(HttpMessageBody, append); PHP_METHOD(HttpMessageBody, add); +PHP_METHOD(HttpMessageBody, etag); +PHP_METHOD(HttpMessageBody, stat); #endif