161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * This module provides the Fetch Response. 1861847f8eSopenharmony_ci * @interface FetchResponse 1961847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 2061847f8eSopenharmony_ci * @since 3 2161847f8eSopenharmony_ci */ 2261847f8eSopenharmony_ciexport interface FetchResponse { 2361847f8eSopenharmony_ci /** 2461847f8eSopenharmony_ci * Server status code. 2561847f8eSopenharmony_ci * @type { number } 2661847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 2761847f8eSopenharmony_ci * @since 3 2861847f8eSopenharmony_ci */ 2961847f8eSopenharmony_ci code: number; 3061847f8eSopenharmony_ci 3161847f8eSopenharmony_ci /** 3261847f8eSopenharmony_ci * Data returned by the success function. 3361847f8eSopenharmony_ci * @type { string | object } 3461847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 3561847f8eSopenharmony_ci * @since 3 3661847f8eSopenharmony_ci */ 3761847f8eSopenharmony_ci data: string | object; 3861847f8eSopenharmony_ci 3961847f8eSopenharmony_ci /** 4061847f8eSopenharmony_ci * All headers in the response from the server. 4161847f8eSopenharmony_ci * @type { Object } 4261847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 4361847f8eSopenharmony_ci * @since 3 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_ci headers: Object; 4661847f8eSopenharmony_ci} 4761847f8eSopenharmony_ci 4861847f8eSopenharmony_ci/** 4961847f8eSopenharmony_ci * Obtains data through a network. 5061847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 5161847f8eSopenharmony_ci * @since 3 5261847f8eSopenharmony_ci */ 5361847f8eSopenharmony_ciexport default class Fetch { 5461847f8eSopenharmony_ci /** 5561847f8eSopenharmony_ci * Obtains data through the network. 5661847f8eSopenharmony_ci * @param { object } options - Options. 5761847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 5861847f8eSopenharmony_ci * @since 3 5961847f8eSopenharmony_ci */ 6061847f8eSopenharmony_ci static fetch(options: { 6161847f8eSopenharmony_ci /** 6261847f8eSopenharmony_ci * Resource URL. 6361847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 6461847f8eSopenharmony_ci * @since 3 6561847f8eSopenharmony_ci */ 6661847f8eSopenharmony_ci url: string; 6761847f8eSopenharmony_ci 6861847f8eSopenharmony_ci /** 6961847f8eSopenharmony_ci * Request parameter, which can be of the string type or a JSON object. 7061847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 7161847f8eSopenharmony_ci * @since 3 7261847f8eSopenharmony_ci */ 7361847f8eSopenharmony_ci data?: string | object; 7461847f8eSopenharmony_ci 7561847f8eSopenharmony_ci /** 7661847f8eSopenharmony_ci * Request header, which accommodates all attributes of the request. 7761847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 7861847f8eSopenharmony_ci * @since 3 7961847f8eSopenharmony_ci */ 8061847f8eSopenharmony_ci header?: Object; 8161847f8eSopenharmony_ci 8261847f8eSopenharmony_ci /** 8361847f8eSopenharmony_ci * Request methods available: OPTIONS, GET, HEAD, POST, PUT, DELETE and TRACE. The default value is GET. 8461847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 8561847f8eSopenharmony_ci * @since 3 8661847f8eSopenharmony_ci */ 8761847f8eSopenharmony_ci method?: string; 8861847f8eSopenharmony_ci 8961847f8eSopenharmony_ci /** 9061847f8eSopenharmony_ci * The return type can be text, or JSON. By default, the return type is determined based on Content-Type in the header returned by the server. 9161847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 9261847f8eSopenharmony_ci * @since 3 9361847f8eSopenharmony_ci */ 9461847f8eSopenharmony_ci responseType?: string; 9561847f8eSopenharmony_ci 9661847f8eSopenharmony_ci /** 9761847f8eSopenharmony_ci * Called when the network data is obtained successfully. 9861847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 9961847f8eSopenharmony_ci * @since 3 10061847f8eSopenharmony_ci */ 10161847f8eSopenharmony_ci success?: (data: FetchResponse) => void; 10261847f8eSopenharmony_ci 10361847f8eSopenharmony_ci /** 10461847f8eSopenharmony_ci * Called when the network data fails to be obtained. 10561847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 10661847f8eSopenharmony_ci * @since 3 10761847f8eSopenharmony_ci */ 10861847f8eSopenharmony_ci fail?: (data: any, code: number) => void; 10961847f8eSopenharmony_ci 11061847f8eSopenharmony_ci /** 11161847f8eSopenharmony_ci * Called when the execution is completed. 11261847f8eSopenharmony_ci * @syscap SystemCapability.Communication.NetStack 11361847f8eSopenharmony_ci * @since 3 11461847f8eSopenharmony_ci */ 11561847f8eSopenharmony_ci complete?: () => void; 11661847f8eSopenharmony_ci }): void; 11761847f8eSopenharmony_ci} 118