From 4b5d5887bf11bc0f25e90236ccc055befb2ded74 Mon Sep 17 00:00:00 2001 From: maosiping Date: Wed, 1 Dec 2021 14:21:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: maosiping --- frameworks/js/builtin/CMakeLists.txt | 1 + frameworks/js/builtin/fetch_module.cpp | 5 +- frameworks/js/builtin/fetch_module.h | 1 - .../http_request/http_async_callback.cpp | 8 ++- .../http_request/http_async_callback.h | 1 - .../js/builtin/http_request/http_constant.cpp | 54 +++++++++--------- .../js/builtin/http_request/http_constant.h | 57 ++++++++++--------- .../js/builtin/http_request/http_request.cpp | 33 ++++++----- .../js/builtin/http_request/http_request.h | 8 +-- .../http_request/http_request_utils.cpp | 6 +- .../builtin/http_request/http_request_utils.h | 6 +- .../js/builtin/http_request/request_data.cpp | 1 + .../js/builtin/http_request/request_data.h | 7 +-- .../js/builtin/http_request/response_data.cpp | 2 + .../js/builtin/http_request/response_data.h | 6 +- frameworks/js/builtin/test/include/ace_log.h | 2 - .../js/builtin/test/include/memory_heap.h | 7 ++- .../js/builtin/test/test_fetch_module.cpp | 4 +- 18 files changed, 110 insertions(+), 99 deletions(-) diff --git a/frameworks/js/builtin/CMakeLists.txt b/frameworks/js/builtin/CMakeLists.txt index 6ce2e1312..ea24a2718 100644 --- a/frameworks/js/builtin/CMakeLists.txt +++ b/frameworks/js/builtin/CMakeLists.txt @@ -58,5 +58,6 @@ target_link_libraries(test_fetch_module curl-d) target_link_libraries(test_fetch_module securec) add_compile_definitions(NO_SSL_CERTIFICATION=1) +add_compile_definitions(__LITEOS__=1) add_subdirectory(test) \ No newline at end of file diff --git a/frameworks/js/builtin/fetch_module.cpp b/frameworks/js/builtin/fetch_module.cpp index b7f95e1a0..05143e946 100644 --- a/frameworks/js/builtin/fetch_module.cpp +++ b/frameworks/js/builtin/fetch_module.cpp @@ -14,8 +14,11 @@ */ #include "fetch_module.h" + +#include + #include "http_request/http_async_callback.h" -#include "http_request/http_request.h" +#include "http_request/http_constant.h" #include "http_request/http_request_utils.h" #include "js_async_work.h" #include "securec.h" diff --git a/frameworks/js/builtin/fetch_module.h b/frameworks/js/builtin/fetch_module.h index fa239919f..04b8d0fe0 100644 --- a/frameworks/js/builtin/fetch_module.h +++ b/frameworks/js/builtin/fetch_module.h @@ -19,7 +19,6 @@ #include "http_request/http_request.h" #include "jsi.h" #include "non_copyable.h" -#include namespace OHOS { namespace ACELite { diff --git a/frameworks/js/builtin/http_request/http_async_callback.cpp b/frameworks/js/builtin/http_request/http_async_callback.cpp index ca07b5e8b..6f84fca81 100644 --- a/frameworks/js/builtin/http_request/http_async_callback.cpp +++ b/frameworks/js/builtin/http_request/http_async_callback.cpp @@ -14,12 +14,14 @@ */ #include "http_async_callback.h" -#include "http_request.h" -#include "http_request_utils.h" -#include "securec.h" + #include #include +#include "http_constant.h" +#include "http_request.h" +#include "http_request_utils.h" + namespace OHOS { namespace ACELite { diff --git a/frameworks/js/builtin/http_request/http_async_callback.h b/frameworks/js/builtin/http_request/http_async_callback.h index 5328e4d14..944c68e9c 100644 --- a/frameworks/js/builtin/http_request/http_async_callback.h +++ b/frameworks/js/builtin/http_request/http_async_callback.h @@ -19,7 +19,6 @@ #include "../fetch_module.h" #include "jsi.h" #include "non_copyable.h" -#include "request_data.h" #include "response_data.h" namespace OHOS { diff --git a/frameworks/js/builtin/http_request/http_constant.cpp b/frameworks/js/builtin/http_request/http_constant.cpp index 6dd52733e..09ded8e39 100644 --- a/frameworks/js/builtin/http_request/http_constant.cpp +++ b/frameworks/js/builtin/http_request/http_constant.cpp @@ -13,44 +13,44 @@ * limitations under the License. */ +#include "http_constant.h" + namespace OHOS { namespace ACELite { -namespace HttpConstant { -int HTTP_RESPONSE_CODE_INVALID = -1; +const int HttpConstant::HTTP_RESPONSE_CODE_INVALID = -1; -const char *HTTP_RESPONSE_TYPE_JSON = "json"; +const char *const HttpConstant::HTTP_RESPONSE_TYPE_JSON = "json"; -const char *HTTP_HEADER_SEPARATOR = ":"; +const char *const HttpConstant::HTTP_HEADER_SEPARATOR = ":"; -const char *HTTP_DEFAULT_USER_AGENT = "libcurl-agent/1.0"; +const char *const HttpConstant::HTTP_DEFAULT_USER_AGENT = "libcurl-agent/1.0"; -const char *HTTP_DEFAULT_CONTENT_TYPE = "text/plain"; -const char *HTTP_HEADER_KEY_CONTENT_TYPE = "content-type"; -const char *HTTP_CONTENT_TYPE_URL_ENCODE = "application/x-www-form-urlencoded"; -const char *HTTP_CONTENT_TYPE_JSON = "application/json"; +const char *const HttpConstant::HTTP_DEFAULT_CONTENT_TYPE = "text/plain"; +const char *const HttpConstant::HTTP_HEADER_KEY_CONTENT_TYPE = "content-type"; +const char *const HttpConstant::HTTP_CONTENT_TYPE_URL_ENCODE = "application/x-www-form-urlencoded"; +const char *const HttpConstant::HTTP_CONTENT_TYPE_JSON = "application/json"; -const char *HTTP_URL_PARAM_SEPARATOR = "?"; -const char *HTTP_URL_PARAM_DELIMITER = "&"; +const char *const HttpConstant::HTTP_URL_PARAM_SEPARATOR = "?"; +const char *const HttpConstant::HTTP_URL_PARAM_DELIMITER = "&"; -const char *HTTP_METHOD_GET = "GET"; -const char *HTTP_METHOD_HEAD = "HEAD"; -const char *HTTP_METHOD_OPTIONS = "OPTIONS"; -const char *HTTP_METHOD_TRACE = "TRACE"; -const char *HTTP_METHOD_DELETE = "DELETE"; -const char *HTTP_METHOD_POST = "POST"; -const char *HTTP_METHOD_PUT = "PUT"; +const char *const HttpConstant::HTTP_METHOD_GET = "GET"; +const char *const HttpConstant::HTTP_METHOD_HEAD = "HEAD"; +const char *const HttpConstant::HTTP_METHOD_OPTIONS = "OPTIONS"; +const char *const HttpConstant::HTTP_METHOD_TRACE = "TRACE"; +const char *const HttpConstant::HTTP_METHOD_DELETE = "DELETE"; +const char *const HttpConstant::HTTP_METHOD_POST = "POST"; +const char *const HttpConstant::HTTP_METHOD_PUT = "PUT"; -const char *KEY_HTTP_RESPONSE_CODE = "code"; -const char *KEY_HTTP_RESPONSE_DATA = "data"; -const char *KEY_HTTP_RESPONSE_HEADERS = "headers"; +const char *const HttpConstant::KEY_HTTP_RESPONSE_CODE = "code"; +const char *const HttpConstant::KEY_HTTP_RESPONSE_DATA = "data"; +const char *const HttpConstant::KEY_HTTP_RESPONSE_HEADERS = "headers"; -const char *KEY_HTTP_REQUEST_URL = "url"; -const char *KEY_HTTP_REQUEST_DATA = "data"; -const char *KEY_HTTP_REQUEST_HEADER = "header"; -const char *KEY_HTTP_REQUEST_METHOD = "method"; -const char *KEY_HTTP_REQUEST_RESPONSE_TYPE = "responseType"; +const char *const HttpConstant::KEY_HTTP_REQUEST_URL = "url"; +const char *const HttpConstant::KEY_HTTP_REQUEST_DATA = "data"; +const char *const HttpConstant::KEY_HTTP_REQUEST_HEADER = "header"; +const char *const HttpConstant::KEY_HTTP_REQUEST_METHOD = "method"; +const char *const HttpConstant::KEY_HTTP_REQUEST_RESPONSE_TYPE = "responseType"; -} // namespace HttpConstant } // namespace ACELite } // namespace OHOS \ No newline at end of file diff --git a/frameworks/js/builtin/http_request/http_constant.h b/frameworks/js/builtin/http_request/http_constant.h index a1bba27c4..a00834251 100644 --- a/frameworks/js/builtin/http_request/http_constant.h +++ b/frameworks/js/builtin/http_request/http_constant.h @@ -16,43 +16,46 @@ #ifndef OHOS_ACELITE_HTTP_CONSTANT_H #define OHOS_ACELITE_HTTP_CONSTANT_H +#include "non_copyable.h" + namespace OHOS { namespace ACELite { -namespace HttpConstant { - -extern const int HTTP_RESPONSE_CODE_INVALID; +class HttpConstant final { +public: + ACE_DISALLOW_COPY_AND_MOVE(HttpConstant); + static const int HTTP_RESPONSE_CODE_INVALID; -extern const char *const HTTP_RESPONSE_TYPE_JSON; + static const char *const HTTP_RESPONSE_TYPE_JSON; -extern const char *const HTTP_HEADER_SEPARATOR; + static const char *const HTTP_HEADER_SEPARATOR; -extern const char *const HTTP_DEFAULT_USER_AGENT; + static const char *const HTTP_DEFAULT_USER_AGENT; -extern const char *const HTTP_DEFAULT_CONTENT_TYPE; -extern const char *const HTTP_HEADER_KEY_CONTENT_TYPE; -extern const char *const HTTP_CONTENT_TYPE_URL_ENCODE; -extern const char *const HTTP_CONTENT_TYPE_JSON; + static const char *const HTTP_DEFAULT_CONTENT_TYPE; + static const char *const HTTP_HEADER_KEY_CONTENT_TYPE; + static const char *const HTTP_CONTENT_TYPE_URL_ENCODE; + static const char *const HTTP_CONTENT_TYPE_JSON; -extern const char *const HTTP_URL_PARAM_SEPARATOR; -extern const char *const HTTP_URL_PARAM_DELIMITER; + static const char *const HTTP_URL_PARAM_SEPARATOR; + static const char *const HTTP_URL_PARAM_DELIMITER; -extern const char *const HTTP_METHOD_GET; -extern const char *const HTTP_METHOD_HEAD; -extern const char *const HTTP_METHOD_OPTIONS; -extern const char *const HTTP_METHOD_TRACE; -extern const char *const HTTP_METHOD_DELETE; -extern const char *const HTTP_METHOD_POST; -extern const char *const HTTP_METHOD_PUT; + static const char *const HTTP_METHOD_GET; + static const char *const HTTP_METHOD_HEAD; + static const char *const HTTP_METHOD_OPTIONS; + static const char *const HTTP_METHOD_TRACE; + static const char *const HTTP_METHOD_DELETE; + static const char *const HTTP_METHOD_POST; + static const char *const HTTP_METHOD_PUT; -extern const char *const KEY_HTTP_RESPONSE_CODE; -extern const char *const KEY_HTTP_RESPONSE_DATA; -extern const char *const KEY_HTTP_RESPONSE_HEADERS; + static const char *const KEY_HTTP_RESPONSE_CODE; + static const char *const KEY_HTTP_RESPONSE_DATA; + static const char *const KEY_HTTP_RESPONSE_HEADERS; -extern const char *const KEY_HTTP_REQUEST_URL; -extern const char *const KEY_HTTP_REQUEST_DATA; -extern const char *const KEY_HTTP_REQUEST_HEADER; -extern const char *const KEY_HTTP_REQUEST_METHOD; -extern const char *const KEY_HTTP_REQUEST_RESPONSE_TYPE; + static const char *const KEY_HTTP_REQUEST_URL; + static const char *const KEY_HTTP_REQUEST_DATA; + static const char *const KEY_HTTP_REQUEST_HEADER; + static const char *const KEY_HTTP_REQUEST_METHOD; + static const char *const KEY_HTTP_REQUEST_RESPONSE_TYPE; } // namespace HttpConstant } // namespace ACELite diff --git a/frameworks/js/builtin/http_request/http_request.cpp b/frameworks/js/builtin/http_request/http_request.cpp index cc5d55791..8c83441e7 100644 --- a/frameworks/js/builtin/http_request/http_request.cpp +++ b/frameworks/js/builtin/http_request/http_request.cpp @@ -14,8 +14,11 @@ */ #include "http_request.h" + +#include + +#include "http_constant.h" #include "http_request_utils.h" -#include #define ACE_CURL_EASY_SET_OPTION(handle, opt, data, respData) \ do { \ @@ -23,22 +26,22 @@ if (result != CURLE_OK) { \ const char *err = curl_easy_strerror(result); \ HTTP_REQUEST_ERROR("Failed to set option: %s, %s", #opt, err); \ - respData->SetErrString(err); \ - respData->SetCode(result); \ + (respData)->SetErrString(err); \ + (respData)->SetCode(result); \ return false; \ } \ } while (0) -#define ACE_CURL_EASY_PERFORM(handle, reqData, respData) \ - do { \ - CURLcode result = curl_easy_perform(handle); \ - if (result != CURLE_OK) { \ - const char *err = curl_easy_strerror(result); \ - HTTP_REQUEST_ERROR("Failed to fetch, url:%s, %s", reqData->GetUrl().c_str(), err); \ - respData->SetErrString(err); \ - respData->SetCode(result); \ - return false; \ - } \ +#define ACE_CURL_EASY_PERFORM(handle, reqData, respData) \ + do { \ + CURLcode result = curl_easy_perform(handle); \ + if (result != CURLE_OK) { \ + const char *err = curl_easy_strerror(result); \ + HTTP_REQUEST_ERROR("Failed to fetch, url:%s, %s", (reqData)->GetUrl().c_str(), err); \ + (respData)->SetErrString(err); \ + (respData)->SetCode(result); \ + return false; \ + } \ } while (0) #define ACE_CURL_EASY_GET_INFO(handle, opt, data, respData) \ @@ -47,8 +50,8 @@ if (result != CURLE_OK) { \ const char *err = curl_easy_strerror(result); \ HTTP_REQUEST_ERROR("Failed to get info: %s, %s", #opt, err); \ - respData->SetErrString(err); \ - respData->SetCode(result); \ + (respData)->SetErrString(err); \ + (respData)->SetCode(result); \ return false; \ } \ } while (0) diff --git a/frameworks/js/builtin/http_request/http_request.h b/frameworks/js/builtin/http_request/http_request.h index c5b84d021..483194286 100644 --- a/frameworks/js/builtin/http_request/http_request.h +++ b/frameworks/js/builtin/http_request/http_request.h @@ -16,15 +16,13 @@ #ifndef OHOS_ACELITE_HTTP_REQUEST_H #define OHOS_ACELITE_HTTP_REQUEST_H +#include +#include + #include "curl/curl.h" -#include "http_constant.h" #include "non_copyable.h" #include "request_data.h" #include "response_data.h" -#include "securec.h" -#include -#include -#include namespace OHOS { namespace ACELite { diff --git a/frameworks/js/builtin/http_request/http_request_utils.cpp b/frameworks/js/builtin/http_request/http_request_utils.cpp index 080417f4a..7e029f1a4 100644 --- a/frameworks/js/builtin/http_request/http_request_utils.cpp +++ b/frameworks/js/builtin/http_request/http_request_utils.cpp @@ -14,10 +14,10 @@ */ #include "http_request_utils.h" -#include "http_constant.h" -#include + #include -#include + +#include "http_constant.h" namespace OHOS { namespace ACELite { diff --git a/frameworks/js/builtin/http_request/http_request_utils.h b/frameworks/js/builtin/http_request/http_request_utils.h index d3332e194..a62651124 100644 --- a/frameworks/js/builtin/http_request/http_request_utils.h +++ b/frameworks/js/builtin/http_request/http_request_utils.h @@ -16,12 +16,12 @@ #ifndef OHOS_ACELITE_HTTP_REQUEST_UTILS_H #define OHOS_ACELITE_HTTP_REQUEST_UTILS_H -#include "ace_log.h" -#include "curl/curl.h" -#include "securec.h" #include #include +#include "ace_log.h" +#include "curl/curl.h" + #define HTTP_REQUEST_INFO(...) \ do { \ HILOG_INFO(HILOG_MODULE_ACE, "[HTTP][INFO] " __VA_ARGS__); \ diff --git a/frameworks/js/builtin/http_request/request_data.cpp b/frameworks/js/builtin/http_request/request_data.cpp index 6fdc74400..bc48a3132 100644 --- a/frameworks/js/builtin/http_request/request_data.cpp +++ b/frameworks/js/builtin/http_request/request_data.cpp @@ -14,6 +14,7 @@ */ #include "request_data.h" + #include "http_constant.h" namespace OHOS { diff --git a/frameworks/js/builtin/http_request/request_data.h b/frameworks/js/builtin/http_request/request_data.h index 71f8cb489..35d742612 100644 --- a/frameworks/js/builtin/http_request/request_data.h +++ b/frameworks/js/builtin/http_request/request_data.h @@ -16,7 +16,6 @@ #ifndef OHOS_ACELITE_REQUEST_DATA_H #define OHOS_ACELITE_REQUEST_DATA_H -#include #include #include @@ -26,13 +25,13 @@ class RequestData { public: RequestData(); - void SetUrl(const std::string &url); + void SetUrl(const std::string &urlPara); - void SetMethod(const std::string &method); + void SetMethod(const std::string &methodPara); void SetHeader(const std::string &key, const std::string &val); - void SetBody(const std::string &body); + void SetBody(const std::string &bodyPara); void SetResponseType(const std::string &respType); diff --git a/frameworks/js/builtin/http_request/response_data.cpp b/frameworks/js/builtin/http_request/response_data.cpp index ca81d0109..4b4824310 100644 --- a/frameworks/js/builtin/http_request/response_data.cpp +++ b/frameworks/js/builtin/http_request/response_data.cpp @@ -14,6 +14,8 @@ */ #include "response_data.h" + +#include "http_constant.h" #include "http_request_utils.h" namespace OHOS { diff --git a/frameworks/js/builtin/http_request/response_data.h b/frameworks/js/builtin/http_request/response_data.h index 56bd0e259..ecea2075a 100644 --- a/frameworks/js/builtin/http_request/response_data.h +++ b/frameworks/js/builtin/http_request/response_data.h @@ -16,10 +16,8 @@ #ifndef OHOS_ACELITE_RESPONSE_DATA_H #define OHOS_ACELITE_RESPONSE_DATA_H -#include "http_constant.h" #include #include -#include namespace OHOS { namespace ACELite { @@ -27,13 +25,13 @@ class ResponseData { public: ResponseData(); - void SetCode(int32_t code); + void SetCode(int32_t codePara); void SetErrString(const std::string &err); void ParseHeaders(const std::string &headersStr); - void AppendData(const char *data, size_t size); + void AppendData(const char *dataPara, size_t size); [[nodiscard]] int32_t GetCode() const; diff --git a/frameworks/js/builtin/test/include/ace_log.h b/frameworks/js/builtin/test/include/ace_log.h index 9f298047a..c2c3d7ac7 100644 --- a/frameworks/js/builtin/test/include/ace_log.h +++ b/frameworks/js/builtin/test/include/ace_log.h @@ -18,8 +18,6 @@ #include -#define __LITEOS__ - #define HILOG_ERROR(mod, ...) \ do { \ printf(__VA_ARGS__); \ diff --git a/frameworks/js/builtin/test/include/memory_heap.h b/frameworks/js/builtin/test/include/memory_heap.h index b7d7fdb18..9a949dcb4 100644 --- a/frameworks/js/builtin/test/include/memory_heap.h +++ b/frameworks/js/builtin/test/include/memory_heap.h @@ -13,4 +13,9 @@ * limitations under the License. */ -#include "../../../../../../../ace/ace_engine_lite/interfaces/innerkits/builtin/base/memory_heap.h" \ No newline at end of file +#ifndef TEST_OHOS_ACELITE_MEMORY_HEAP_H +#define TEST_OHOS_ACELITE_MEMORY_HEAP_H + +#include "../../../../../../../ace/ace_engine_lite/interfaces/innerkits/builtin/base/memory_heap.h" + +#endif \ No newline at end of file diff --git a/frameworks/js/builtin/test/test_fetch_module.cpp b/frameworks/js/builtin/test/test_fetch_module.cpp index 50f05957a..6bc4b90aa 100644 --- a/frameworks/js/builtin/test/test_fetch_module.cpp +++ b/frameworks/js/builtin/test/test_fetch_module.cpp @@ -14,7 +14,7 @@ */ #include "../fetch_module.h" -#include "../http_request/http_async_callback.h" +#include "../http_request/http_constant.h" #include "../http_request/http_request_utils.h" #include "jerryscript-core.h" #include "js_async_work.h" @@ -80,7 +80,7 @@ JSIValue TestCallbackOnSuccess(const JSIValue thisVal, const JSIValue *args, uin static_cast(JSI::GetNumberProperty(para, HttpConstant::KEY_HTTP_RESPONSE_CODE))); size_t size = 0; - char *data = JSI::GetStringProperty(para, HttpConstant::KEY_HTTP_RESPONSE_DATA, size); + char *data = JSI::GetStringPropertyWithBufferSize(para, HttpConstant::KEY_HTTP_RESPONSE_DATA, size); std::string body; for (uint32_t index = 0; index < size; ++index) { if (data[index] != 0) { -- Gitee From 5efa3707af73f03c4544f8d56640769893bb0348 Mon Sep 17 00:00:00 2001 From: maosiping Date: Wed, 1 Dec 2021 14:37:41 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: maosiping --- frameworks/js/builtin/fetch_module.h | 2 +- frameworks/js/builtin/http_request/http_constant.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/js/builtin/fetch_module.h b/frameworks/js/builtin/fetch_module.h index 04b8d0fe0..98aba9f99 100644 --- a/frameworks/js/builtin/fetch_module.h +++ b/frameworks/js/builtin/fetch_module.h @@ -16,7 +16,7 @@ #ifndef OHOS_ACELITE_FETCH_MODULE_H #define OHOS_ACELITE_FETCH_MODULE_H -#include "http_request/http_request.h" +#include "http_request/request_data.h" #include "jsi.h" #include "non_copyable.h" diff --git a/frameworks/js/builtin/http_request/http_constant.h b/frameworks/js/builtin/http_request/http_constant.h index a00834251..75be041d6 100644 --- a/frameworks/js/builtin/http_request/http_constant.h +++ b/frameworks/js/builtin/http_request/http_constant.h @@ -57,7 +57,7 @@ public: static const char *const KEY_HTTP_REQUEST_METHOD; static const char *const KEY_HTTP_REQUEST_RESPONSE_TYPE; -} // namespace HttpConstant +}; } // namespace ACELite } // namespace OHOS -- Gitee