diff --git a/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp b/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp index c5ec9335a06ff09c025923a959cc8cb7e1c24ff2..21abcb034d99a7e50714ac63167f7b1d76ac20a2 100644 --- a/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp +++ b/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp @@ -47,6 +47,7 @@ void OnURLRequestStop(const ArkWeb_SchemeHandler *schemeHandler, RawfileRequest *rawfileRequest = (RawfileRequest *)OH_ArkWebResourceRequest_GetUserData(request); if (rawfileRequest) { rawfileRequest->Stop(); + delete rawfileRequest; } } @@ -72,6 +73,7 @@ void OnURLRequestStopForSW(const ArkWeb_SchemeHandler *schemeHandler, RawfileRequest *rawfileRequest = (RawfileRequest *)OH_ArkWebResourceRequest_GetUserData(request); if (rawfileRequest) { rawfileRequest->Stop(); + delete rawfileRequest; } } diff --git a/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp b/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp index a35e9066b403cac1b56ba0d0960a0a25fe21329a..669eb9724709765f8eec5e6a06992da154d5b4f3 100644 --- a/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp +++ b/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp @@ -94,7 +94,11 @@ RawfileRequest::RawfileRequest(const ArkWeb_ResourceRequest *resourceRequest, resourceManager_(resourceManager) {} -RawfileRequest::~RawfileRequest() {} +RawfileRequest::~RawfileRequest() { + if (stream_) { + OH_ArkWebResourceRequest_DestroyHttpBodyStream(stream_); + } +} void RawfileRequest::Start()