diff --git a/api/include/mk_events_objects.h b/api/include/mk_events_objects.h index d2fc2a57..765978a5 100644 --- a/api/include/mk_events_objects.h +++ b/api/include/mk_events_objects.h @@ -145,6 +145,13 @@ typedef void* mk_http_body; */ API_EXPORT mk_http_body API_CALL mk_http_body_from_string(const char *str,size_t len); +/** + * 生成HttpBufferBody + * @param buffer mk_buffer对象 + */ +API_EXPORT mk_http_body API_CALL mk_http_body_from_buffer(mk_buffer buffer); + + /** * 生成HttpFileBody * @param file_path 文件完整路径 diff --git a/api/source/mk_events_objects.cpp b/api/source/mk_events_objects.cpp index 768b2aa9..793ea272 100644 --- a/api/source/mk_events_objects.cpp +++ b/api/source/mk_events_objects.cpp @@ -253,6 +253,7 @@ API_EXPORT void API_CALL mk_media_source_for_each(void *user_data, on_mk_media_s } ///////////////////////////////////////////HttpBody///////////////////////////////////////////// + API_EXPORT mk_http_body API_CALL mk_http_body_from_string(const char *str, size_t len){ assert(str); if(!len){ @@ -261,6 +262,11 @@ API_EXPORT mk_http_body API_CALL mk_http_body_from_string(const char *str, size_ return new HttpBody::Ptr(new HttpStringBody(std::string(str, len))); } +API_EXPORT mk_http_body API_CALL mk_http_body_from_buffer(mk_buffer buffer) { + assert(buffer); + return new HttpBody::Ptr(new HttpBufferBody(*((Buffer::Ptr *) buffer))); +} + API_EXPORT mk_http_body API_CALL mk_http_body_from_file(const char *file_path){ assert(file_path); return new HttpBody::Ptr(new HttpFileBody(file_path)); diff --git a/api/tests/httpclient.c b/api/tests/httpclient.c index 14a79a90..053dde8e 100644 --- a/api/tests/httpclient.c +++ b/api/tests/httpclient.c @@ -16,7 +16,7 @@ typedef struct { mk_http_requester requester; } Context; -void API_CALL on_requester_complete(void *user_data, int code, const char *err_msg){ +static void API_CALL on_requester_complete(void *user_data, int code, const char *err_msg){ Context *ctx = (Context *)user_data; log_debug("code: %d %s", code, err_msg); size_t res_len = 0;