1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "ohos_nweb/bridge/ark_web_url_resource_request_wrapper.h"
17 
18 #include "base/bridge/ark_web_bridge_macros.h"
19 
20 namespace OHOS::ArkWeb {
21 
ArkWebUrlResourceRequestWrapper(ArkWebRefPtr<ArkWebUrlResourceRequest> ark_web_url_resource_request)22 ArkWebUrlResourceRequestWrapper::ArkWebUrlResourceRequestWrapper(
23     ArkWebRefPtr<ArkWebUrlResourceRequest> ark_web_url_resource_request)
24     : ark_web_url_resource_request_(ark_web_url_resource_request)
25 {}
26 
Url()27 std::string ArkWebUrlResourceRequestWrapper::Url()
28 {
29     ArkWebString stUrl = ark_web_url_resource_request_->Url();
30 
31     std::string objUrl = ArkWebStringStructToClass(stUrl);
32     ArkWebStringStructRelease(stUrl);
33     return objUrl;
34 }
35 
Method()36 std::string ArkWebUrlResourceRequestWrapper::Method()
37 {
38     ArkWebString stMethod = ark_web_url_resource_request_->Method();
39 
40     std::string objMethod = ArkWebStringStructToClass(stMethod);
41     ArkWebStringStructRelease(stMethod);
42     return objMethod;
43 }
44 
FromGesture()45 bool ArkWebUrlResourceRequestWrapper::FromGesture()
46 {
47     return ark_web_url_resource_request_->FromGesture();
48 }
49 
RequestHeaders()50 std::map<std::string, std::string> ArkWebUrlResourceRequestWrapper::RequestHeaders()
51 {
52     ArkWebStringMap stHeaders = ark_web_url_resource_request_->RequestHeaders();
53 
54     std::map<std::string, std::string> objHeaders = ArkWebStringMapStructToClass(stHeaders);
55     ArkWebStringMapStructRelease(stHeaders);
56     return objHeaders;
57 }
58 
IsAboutMainFrame()59 bool ArkWebUrlResourceRequestWrapper::IsAboutMainFrame()
60 {
61     return ark_web_url_resource_request_->IsAboutMainFrame();
62 }
63 
IsRequestRedirect()64 bool ArkWebUrlResourceRequestWrapper::IsRequestRedirect()
65 {
66     return ark_web_url_resource_request_->IsRequestRedirect();
67 }
68 
69 } // namespace OHOS::ArkWeb
70