From 511b9e775116511499eb26bcd7764b553b4a5521 Mon Sep 17 00:00:00 2001 From: shenxinchen Date: Wed, 25 Dec 2024 08:55:20 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=99=90=E5=88=B6=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E5=8F=96=E5=80=BC=E8=8C=83=E5=9B=B4=20=EF=BC=88cherry?= =?UTF-8?q?=20picked=20commit=20from=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nweb_url_resource_response_impl.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc b/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc index 85b08f5248..0bb65e90db 100644 --- a/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc +++ b/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc @@ -97,6 +97,22 @@ bool NWebUrlResourceResponseImpl::ResponseIsFileHandle() { return isFileFd_; } +bool NWebUrlResourceResponseImpl::IsSupportedStatusCode(int status_code) { + if (status_code >= kMinStatusCode_ && status_code <= kMaxStatusCode_) { + return true; + } + + switch (status_code) { +#define NET_ERROR(label, value) \ + case value: \ + return true; +#include "net/base/net_error_list.h" +#undef NET_ERROR + default: + return false; + } +} + void NWebUrlResourceResponseImpl::PutResponseFileHandle(int fd) { dataType_ = NWebResponseDataType::NWEB_FILE_TYPE; fd_ = fd; -- Gitee From 4bff8460c8df4ca1b11e4e4cc0ac70b5a766a87d Mon Sep 17 00:00:00 2001 From: shenxinchen Date: Wed, 25 Dec 2024 08:55:20 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=99=90=E5=88=B6=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E5=8F=96=E5=80=BC=E8=8C=83=E5=9B=B4=20=EF=BC=88cherry?= =?UTF-8?q?=20picked=20commit=20from=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/cef_delegate/nweb_url_resource_response_impl.cc | 6 +++++- .../src/cef_delegate/nweb_url_resource_response_impl.h | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc b/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc index 0bb65e90db..9fab603515 100644 --- a/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc +++ b/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.cc @@ -69,7 +69,11 @@ NWebUrlResourceResponseImpl::ResponseHeaders() { void NWebUrlResourceResponseImpl::PutResponseStateAndStatuscode( int status_code, const std::string &reason_phrase) { - status_code_ = status_code; + if (IsSupportedStatusCode(status_code)) { + status_code_ = status_code; + } else { + status_code_ = net_failed_; + } reason_phrase_ = reason_phrase; } diff --git a/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.h b/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.h index 748e1dc3d6..413baf427f 100644 --- a/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.h +++ b/ohos_nweb/src/cef_delegate/nweb_url_resource_response_impl.h @@ -153,6 +153,9 @@ public: size_t GetResponseDataBufferSize() override; +private: + static bool IsSupportedStatusCode(int status_code); + private: std::string mime_type_; std::string encoding_; @@ -168,6 +171,9 @@ private: std::shared_ptr readyCallback_ = nullptr; char* buffer_; size_t bufferSize_ = 0; + const int net_failed_ = -2; + static const int kMinStatusCode_ = 100; + static const int kMaxStatusCode_ = 599; }; } // namespace OHOS::NWeb -- Gitee