diff --git a/README.md b/README.md index 3096c990e7cae457bdee8d43d81a337b283401e4..6af6ce6b8c660e263aa6ed9ed0f3884a6ecd6ceb 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,8 @@ RCP指的是远程通信平台(remote communication platform),RCP提供网 │ | ├──MultipartForm.ets // 多表单提交 │ | ├──RequestAndResponse.ets // 请求与响应拦截示例 │ | └──TracingPoint.ets // 捕获有关HTTP请求/响应流的详细信息 -| └──utils.ets -│ ├──Interceptors.ets // 请求与响应拦截 -│ └──NetworkStateSimulator.ets // 模拟慢速网络 +| └──utils.ets +│ └──Interceptors.ets // 请求与响应拦截 └──entry/src/main/resources // 应用资源目录 ``` ## 相关权限 diff --git a/entry/src/main/ets/pages/BaseRequest.ets b/entry/src/main/ets/pages/BaseRequest.ets index 1cebab2af91b152b3aab529bf0655f1565e3b902..a5461aeca43e75fee402c835fdd45fdda7fa73d6 100644 --- a/entry/src/main/ets/pages/BaseRequest.ets +++ b/entry/src/main/ets/pages/BaseRequest.ets @@ -18,6 +18,7 @@ import { rcp } from '@kit.RemoteCommunicationKit'; import { url } from '@kit.ArkTS'; import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; interface UserInfo { userName: string; @@ -51,18 +52,23 @@ export struct BaseRequest { } }; // Create the communication session object session - const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); - // Define the request object rep - let req = new rcp.Request('http://example.com/fetch', 'PATCH', headers, modifiedContent); - // Initiate a request - session.fetch(req).then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End session_fetch] - this.patchHeaders = JSON.stringify(req, null, 2); - AppStorage.setOrCreate('PatchHeaders', this.patchHeaders); + try { + const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); + // Define the request object rep + let req = new rcp.Request('http://example.com/fetch', 'PATCH', headers, modifiedContent); + // Initiate a request + session.fetch(req).then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End session_fetch] + this.patchHeaders = JSON.stringify(req, null, 2); + AppStorage.setOrCreate('PatchHeaders', this.patchHeaders); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'BaseRequest', `createSession failed. code=${err.code}, message=${err.message}`); + } } setBaseAddress() { @@ -83,16 +89,21 @@ export struct BaseRequest { } }; // Create the communication session object session and input sessionConfig - const session = rcp.createSession(sessionConfig); + try { + const session = rcp.createSession(sessionConfig); + let req = new rcp.Request('http://example.com', 'GET'); + session.fetch(req).then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + this.baseAddress = sessionConfig.baseAddress; + AppStorage.setOrCreate('BaseAddress', this.baseAddress); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'BaseRequest', `createSession failed. code=${err.code}, message=${err.message}`); + } // [End session_config] - let req = new rcp.Request('http://example.com', 'GET'); - session.fetch(req).then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - this.baseAddress = sessionConfig.baseAddress; - AppStorage.setOrCreate('BaseAddress', this.baseAddress); } build() { diff --git a/entry/src/main/ets/pages/DNSSetting.ets b/entry/src/main/ets/pages/DNSSetting.ets index b3763d64ba872d5a58ddaa5beaf623e968d438e2..2b5f965bcc66b16b28242a9d20af89625a5be198 100644 --- a/entry/src/main/ets/pages/DNSSetting.ets +++ b/entry/src/main/ets/pages/DNSSetting.ets @@ -17,6 +17,7 @@ import { BusinessError } from '@kit.BasicServicesKit'; import { rcp } from '@kit.RemoteCommunicationKit'; import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Builder export function DNSSettingBuilder() { @@ -42,28 +43,33 @@ export struct DNSSetting { { ip: '8.8.4.4', port: 53 } ]; // Creating a Communication Session Object - const sessionWithCustomDns = rcp.createSession({ - requestConfiguration: { - dns: { - dnsRules: customDnsServers - }, - security: { - tlsOptions: { - tlsVersion: 'TlsV1.3' + try { + const sessionWithCustomDns = rcp.createSession({ + requestConfiguration: { + dns: { + dnsRules: customDnsServers + }, + security: { + tlsOptions: { + tlsVersion: 'TlsV1.3' + } } } - } - }); - // Initiate a request - sessionWithCustomDns.get('http://www.example.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End session_with_custom_dns] - this.customizingDNS = JSON.stringify(customDnsServers, null, 2); - this.textArea = this.customizingDNS; - AppStorage.setOrCreate('CustomizingDNS', this.customizingDNS); + }); + // Initiate a request + sessionWithCustomDns.get('http://www.example.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End session_with_custom_dns] + this.customizingDNS = JSON.stringify(customDnsServers, null, 2); + this.textArea = this.customizingDNS; + AppStorage.setOrCreate('CustomizingDNS', this.customizingDNS); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'DNSSetting', `createSession failed. code=${err.code}, message=${err.message}`); + } } setStaticDnsRules() { @@ -77,28 +83,33 @@ export struct DNSSetting { } ]; // Creating a Communication Session Object - const sessionWithCustomDns = rcp.createSession({ - requestConfiguration: { - dns: { - dnsRules: staticDnsRules - }, - security: { - tlsOptions: { - tlsVersion: 'TlsV1.3' + try { + const sessionWithCustomDns = rcp.createSession({ + requestConfiguration: { + dns: { + dnsRules: staticDnsRules + }, + security: { + tlsOptions: { + tlsVersion: 'TlsV1.3' + } } } - } - }); - // Initiate a request - sessionWithCustomDns.get('http://www.example.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End custom_static_dns] - this.staticDNS = JSON.stringify(staticDnsRules, null, 2); - this.textArea = this.staticDNS; - AppStorage.setOrCreate('StaticDNS', this.staticDNS); + }); + // Initiate a request + sessionWithCustomDns.get('http://www.example.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End custom_static_dns] + this.staticDNS = JSON.stringify(staticDnsRules, null, 2); + this.textArea = this.staticDNS; + AppStorage.setOrCreate('StaticDNS', this.staticDNS); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'DNSSetting', `createSession failed. code=${err.code}, message=${err.message}`); + } } setDnsOverHttps() { @@ -109,28 +120,33 @@ export struct DNSSetting { skipCertificatesValidation: true }; // Creating a Communication Session Object - const sessionWithCustomDns = rcp.createSession({ - requestConfiguration: { - dns: { - dnsOverHttps: dohConfig - }, - security: { - tlsOptions: { - tlsVersion: 'TlsV1.3' + try { + const sessionWithCustomDns = rcp.createSession({ + requestConfiguration: { + dns: { + dnsOverHttps: dohConfig + }, + security: { + tlsOptions: { + tlsVersion: 'TlsV1.3' + } } } - } - }); - // Initiate a request - sessionWithCustomDns.get('http://www.example.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End config_dns_on_https] - this.dnsOverHttp = JSON.stringify(dohConfig, null, 2); - this.textArea = this.dnsOverHttp; - AppStorage.setOrCreate('DnsOverHttp', this.dnsOverHttp); + }); + // Initiate a request + sessionWithCustomDns.get('http://www.example.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End config_dns_on_https] + this.dnsOverHttp = JSON.stringify(dohConfig, null, 2); + this.textArea = this.dnsOverHttp; + AppStorage.setOrCreate('DnsOverHttp', this.dnsOverHttp); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'DNSSetting', `createSession failed. code=${err.code}, message=${err.message}`); + } } build() { diff --git a/entry/src/main/ets/pages/MultipartForm.ets b/entry/src/main/ets/pages/MultipartForm.ets index 979c59796d946333659add25999b8e2d2c2eb9b5..e03780cdfd0b67d2232717bef71f919952516cf5 100644 --- a/entry/src/main/ets/pages/MultipartForm.ets +++ b/entry/src/main/ets/pages/MultipartForm.ets @@ -19,6 +19,7 @@ import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; import { SegmentButtonOptions } from '@kit.ArkUI'; import { ItemRestriction, SegmentButton, SegmentButtonTextItem } from '@ohos.arkui.advanced.SegmentButton'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Builder export function MultipartFormBuilder() { @@ -98,21 +99,26 @@ export struct MultipartForm { } }; // Create a communication session object session - const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); - // Define the request object req - let req = - new rcp.Request('https://www.example.com', 'POST', headers, multiForm, cookies, transferRange, configuration); - req.content = multiForm; - - // Initiate a request - session.fetch(req).then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End upload_form] - this.multipartFormHeaders = JSON.stringify(multiForm, null, 2); - AppStorage.setOrCreate('MultipartFormHeaders', this.multipartFormHeaders); + try { + const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); + // Define the request object req + let req = + new rcp.Request('https://www.example.com', 'POST', headers, multiForm, cookies, transferRange, configuration); + req.content = multiForm; + + // Initiate a request + session.fetch(req).then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End upload_form] + this.multipartFormHeaders = JSON.stringify(multiForm, null, 2); + AppStorage.setOrCreate('MultipartFormHeaders', this.multipartFormHeaders); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'MultipartForm', `createSession failed. code=${err.code}, message=${err.message}`); + } } build() { diff --git a/entry/src/main/ets/pages/TracingPoint.ets b/entry/src/main/ets/pages/TracingPoint.ets index 7bbfb8d54b968ed9146d1a0363ffbdf6b2f7f747..2b0d93ad850a1d2d10b2f4288e833e19452e27a3 100644 --- a/entry/src/main/ets/pages/TracingPoint.ets +++ b/entry/src/main/ets/pages/TracingPoint.ets @@ -17,6 +17,7 @@ import { BusinessError } from '@kit.BasicServicesKit'; import { rcp } from '@kit.RemoteCommunicationKit'; import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Builder export function TracingPointBuilder() { @@ -65,15 +66,20 @@ export struct TracingPoint { } }; // Use the configuration in the session creation - const session = rcp.createSession({ requestConfiguration: { tracing: tracingConfig, security: securityConfig } }); - session.get('http://developer.huawei.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End custom_http_events_handler] - this.detailInfo = JSON.stringify(tracingConfig, null, 2); - AppStorage.setOrCreate('TracingPoint', this.detailInfo); + try { + const session = rcp.createSession({ requestConfiguration: { tracing: tracingConfig, security: securityConfig } }); + session.get('http://developer.huawei.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End custom_http_events_handler] + this.detailInfo = JSON.stringify(tracingConfig, null, 2); + AppStorage.setOrCreate('TracingPoint', this.detailInfo); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'TracingPoint', `createSession failed. code=${err.code}, message=${err.message}`); + } } build() {