UNPKG

pdd

Version:
116 lines (115 loc) 3.53 kB
import { Service } from './service'; import { HttpContentType, HttpApi, IHttpSendConfig, HTTP_SERVICE_CONFIG, DATA_CARRYING, HelperHttpApi, HelperHttpData, HelperHttpHeaders, HelperHttpExtra } from '../type/types'; import type { UtilityObject } from '../type/utils'; declare type IApplicationInstance = any; /** * Class HttpService * @description Http服务模块,提供请求配置、中间件、数据携带等相关功能 */ export declare class HttpService extends Service { _http: any; _api: UtilityObject; _headers: Record<string, any>; _host: string; _isRESTful: boolean; _carryingData: UtilityObject; private _mode; $helper: null; _requestMiddleware: CallableFunction; _responseMiddleware: CallableFunction; protected _context: any; /** * _contentType Request type 请求类型 * 'application/json' 为 Request Payload 请求方式 * 'application/x-www-form-urlencoded;charset=UTF-8' 为 Form Data 请求方式 需QS配合使用 * OTHER Query String Parameters 为 _method = 'GET' */ /** * constructor * @param app * @param config * @description HttpService constructor */ constructor(app: IApplicationInstance, { HTTP_ADAPTER, HTTP_API, HTTP_HOST, IS_RESTFUL, CONTENT_TYPE, DATA_CARRYING, REQUEST_MIDDLEWARE, RESPONSE_MIDDLEWARE }: HTTP_SERVICE_CONFIG); /** * Method setContentType 设置请求类型 * @param {String} mode */ setContentType(mode: HttpContentType): void; private getContentType; /** * Method setDataCarry 处理携带数据 * @param {*} REQUEST_HEADERS * @param {*} REQUEST_DATA */ setDataCarry(REQUEST_HEADERS: DATA_CARRYING['REQUEST_HEADERS'], REQUEST_DATA: DATA_CARRYING['REQUEST_DATA']): void; /** * Method carryingHandle 携带数据处理 * @param name * @param val * @param type * @private */ private carryingHandle; /** * Method http 发送一个请求 * @param api * @param data * @param headers * @param extra * @returns */ http(api: HelperHttpApi, data: HelperHttpData, headers?: HelperHttpHeaders, extra?: HelperHttpExtra): Promise<any>; /** * Send Request * @returns {Promise<*|*>} * @param returnResponse 返回响应数据 */ private request; /** * Method Send * 发送一个自定义请求 * @param apiRoute * @param data * @param config * @param returnResponse */ send(apiRoute: string | HttpApi, data: Record<string, any>, config?: IHttpSendConfig, returnResponse?: boolean): Promise<any>; /** * 制作一个发型,目前发型用于二次请求相关 * @param apiRoute */ private makeHairstyle; /** * Method getParameters * 从Api里读取请求方法、参数和地址 * @param {*} apiRoute * @param {*} data * @returns */ private getParameters; /** * Method setHeaders * 设置Headers multiple * @param config * @private */ private setHeaders; /** * Method setHeader * 设置Headers single * @param name * @param val * @private */ private setHeader; /** * Method setData * 设置携带数据 通过Data * @param name * @param val * @private */ private setData; } export {};