pdd
Version:
PDD Framework
116 lines (115 loc) • 3.53 kB
TypeScript
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 {};