• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2025 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
16import { rcp } from '@kit.RemoteCommunicationKit';
17import { externalRequestHeaders,externalRequestHeadersInterface } from './quoted_hyphen_props_deprecated_sdk2';
18import { externalResponseHeaders,externalResponseHeadersInterface } from './quoted_hyphen_props_deprecated_sdk2';
19export interface internalRequestHeaders<T extends object> {
20  rcpHeaders: rcp.RequestHeaders;
21  additionalHeaders: T;
22}
23interface AdditionalHeaders {
24  customHeader: string;
25}
26type CustomRequestHeaders = internalRequestHeaders<AdditionalHeaders>;
27const cusRequestHeaders: CustomRequestHeaders = {
28  rcpHeaders: {
29    'content-type': 'application/json', // Error
30     range: 'bytes=0-1023' // Error
31  },
32  additionalHeaders: {
33    customHeader: 'custom value'
34  }
35};
36const basicHeaders: rcp.RequestHeaders = {
37  'authorization': 'Bearer abc123', // Error
38  'content-type': 'application/json' // Error
39};
40basicHeaders.cookie =''; // Error
41function createHeaders(cookie:string,authToken?: string): rcp.RequestHeaders {
42  return {
43    'authorization': authToken ? `Bearer ${authToken}` : undefined, // Error
44    'accept': 'application/json', // Error
45    'cache-control': 'no-cache', // Error
46    'user-agent': 'MyApp/2.0' // Error
47  };
48}
49createHeaders(basicHeaders.cookie); // Error
50function getRange(){
51  return basicHeaders.range; // Error
52}
53
54export type localRequestHeaders = rcp.RequestHeaders;
55let localHeaders:localRequestHeaders = {
56  'accept-charset': 'UTF-8', // Error
57  'accept-encoding': 'gzip, deflate', // Error
58  'accept-language': 'en-US,en;q=0.9', // Error
59  'cookie': 'session_id=123456', // Error
60  'range': 'bytes=0-1023', // Error
61  'upgrade': 'websocket', // Error
62  'content-type':'application/json' // Error
63}
64let externalHeaders:externalRequestHeaders = {
65  cookie: 'session_id=123456', // Error
66  range: 'bytes=0-1023', // Error
67  'content-type':'application/json' // Error
68}
69const setRequestHeaders1 = (headers: externalRequestHeaders) => {
70  headers.authorization =''; // Error
71}
72class RemoteTest{
73  setCookie(cookie:string){
74    cookie = 'cookie'
75  }
76  createHeaders(cookie:string,authToken?: string): rcp.RequestHeaders {
77    return {
78      authorization: authToken ? `Bearer ${authToken}` : undefined, // Error
79      accept: 'application/json', // Error
80      "cache-control": 'no-cache',
81      "user-agent": 'MyApp/2.0',
82      upgrade:'web', // Error
83      range:'' // Error
84    };
85  }
86  constructor() {
87    createHeaders(basicHeaders.authorization!); // Error
88  }
89}
90const exRequestHeadersInterface: externalRequestHeadersInterface = {
91  authorization: 'Bearer token', //Error
92  customHeader1: 'value1'
93};
94function processHeaders(headers: externalRequestHeadersInterface) {
95  console.log(headers.authorization); //Error
96  console.log(headers.customHeader1);
97}
98function createExHeaders(): externalRequestHeadersInterface {
99  return {
100    authorization: 'Bearer token', //Error
101    customHeader1: 'value1'
102  };
103}
104typeof exRequestHeadersInterface.authorization; //Error
105console.log('accept='+exRequestHeadersInterface.accept) //Error
106function printHeaders<T extends externalRequestHeadersInterface>(exheaders: externalRequestHeadersInterface) {
107  console.log(exheaders.authorization); //Error
108}
109const headersArray: externalRequestHeadersInterface[] = [
110  {
111    authorization: 'application/json', //Error
112    customHeader1: 'header1Value1'
113  },
114  {
115    'cookie': 'sss', //Error
116    customHeader1: 'header1Value2'
117  }
118];
119interface RequestConfig {
120  headers: externalRequestHeadersInterface;
121  url: string;
122  method: 'GET' | 'POST';
123}
124
125const config: RequestConfig = {
126  headers: {
127    'authorization': 'application/json', //Error
128    customHeader1: 'configHeaderValue'
129  },
130  url: 'https://example.com/api',
131  method: 'GET'
132};
133export const headers:string[]=[
134  'authorization',
135  'accept',
136  'cache-control',
137  'user-agent',
138  'accept-charset',
139  'accept-encoding',
140  'accept-language',
141  'cookie',
142  'range',
143  'upgrade',
144  'content-type'
145]
146
147//ResponseHeader part
148let externalResponseHeader:externalResponseHeaders = {
149  'accept-ranges':'',  // Error
150  'allow': '',  // Error
151  'cache-control': '',  // Error
152  'content-encoding': ''  // Error
153}
154const setResponseHeaders = (headers: externalResponseHeaders) => {
155  headers.expires ='';  // Error
156}
157
158const exResponseHeadersInterface: externalResponseHeadersInterface = {
159  "www-authenticate": 'Bearer token',
160  customHeader2: 'value1'
161};
162function processResponseHeaders(responseHeaders: externalResponseHeadersInterface) {
163  console.log(responseHeaders.date);  // Error
164  console.log(responseHeaders.customHeader2);
165}
166function createExResponseHeaders(): externalResponseHeadersInterface {
167  return {
168    date: '2025', //Error
169    customHeader2: 'value1'
170  };
171}
172typeof exResponseHeadersInterface.authorization; //Error
173console.log('accept='+exResponseHeadersInterface.accept) //Error
174function printResponseHeaders<T extends externalResponseHeadersInterface>(exHeaders: externalResponseHeadersInterface) {
175  console.log(exHeaders.etag); //Error
176}
177const responseHeadersArray: externalResponseHeadersInterface[] = [
178  {
179    "cache-control": 'application/json',
180    customHeader2: 'header1Value1'
181  },
182  {
183    'server': 'sss', //Error
184    customHeader2: 'header1Value2'
185  }
186];
187interface ResponseConfig {
188  headers: externalResponseHeadersInterface;
189  url: string;
190  method: 'GET' | 'POST';
191}
192
193const config2: ResponseConfig = {
194  headers: {
195    'content-encoding': 'application/json', //Error
196    customHeader2: 'configHeaderValue'
197  },
198  url: 'https://example.com/api',
199  method: 'GET'
200};