mirror of
https://github.com/alibaba/anyproxy.git
synced 2025-08-04 21:39:04 +00:00
feat: refact requestHandler into TS
This commit is contained in:
74
typings/index.d.ts
vendored
74
typings/index.d.ts
vendored
@@ -1,6 +1,21 @@
|
||||
declare interface AnyProxyConfig {
|
||||
port: number
|
||||
|
||||
/// <reference types="node" />
|
||||
|
||||
declare module NodeJS {
|
||||
interface Global {
|
||||
_throttle: any;
|
||||
}
|
||||
}
|
||||
|
||||
declare interface AnyProxyConfig {
|
||||
port: string; // 代理监听端口
|
||||
httpServerPort: string; // web server 的端口
|
||||
forceProxyHttps: boolean;
|
||||
dangerouslyIgnoreUnauthorized: boolean; // 是否忽略https证书
|
||||
wsIntercept: boolean; // 是否代理websocket
|
||||
chunkSizeThreshold: number; // throttle的配置
|
||||
}
|
||||
|
||||
declare interface AnyProxyRule {
|
||||
summary?: string,
|
||||
beforeSendRequest?: Function,
|
||||
@@ -8,4 +23,59 @@ declare interface AnyProxyRule {
|
||||
beforeDealHttpsRequest?: Function,
|
||||
onError?: Function,
|
||||
onConnectError?: Function
|
||||
}
|
||||
|
||||
declare namespace AnyProxyRecorder {
|
||||
type ResponseHeader = any; // 暂时无法引入http模块,会导致
|
||||
export type WsResourceInfo = {
|
||||
time: number,
|
||||
message: string,
|
||||
isToServer: boolean
|
||||
};
|
||||
|
||||
export type ResourceInfo = {
|
||||
wsMessages?: Array<WsResourceInfo>,
|
||||
statusCode?: number,
|
||||
resHeader?: ResponseHeader,
|
||||
host?: string,
|
||||
method?: string,
|
||||
path?: string,
|
||||
url?: string,
|
||||
startTime?: number,
|
||||
endTime?: number,
|
||||
res?: {
|
||||
statusCode: number,
|
||||
headers: ResponseHeader
|
||||
},
|
||||
resBody?: string,
|
||||
length?: number
|
||||
};
|
||||
}
|
||||
|
||||
// The request detail object AnyProxy used internally
|
||||
declare interface AnyProxyRequestDetail {
|
||||
protocol?: string;
|
||||
requestOptions?: any;
|
||||
requestData?: Buffer;
|
||||
url?: string;
|
||||
_req?: any;
|
||||
_directlyPassToRespond?: boolean;
|
||||
response?: AnyProxyResponse; // exists when gen the response directly from request
|
||||
}
|
||||
|
||||
declare interface AnyProxyResponse {
|
||||
statusCode: number,
|
||||
header: OneLevelObjectType;
|
||||
body: string | Buffer;
|
||||
rawBody: Buffer;
|
||||
}
|
||||
|
||||
declare interface AnyProxyReponseDetail {
|
||||
response: AnyProxyResponse,
|
||||
_res: any;
|
||||
_directlyPassToRespond?: boolean; // no need to send the respnose out
|
||||
}
|
||||
|
||||
declare interface OneLevelObjectType {
|
||||
[key: string]: string | boolean | number
|
||||
}
|
||||
Reference in New Issue
Block a user