@mt-utils/mt-sse
Version:
明途SSE请求工具
67 lines (66 loc) • 1.9 kB
TypeScript
/**
* SSE链接服务器的头部信息
*/
interface SSEHeaders {
[key: string]: string;
/**
* 指定请求和响应遵循的缓存机制,默认为no-cache
*/
'cache-control': string;
/**
* 指定连接是否应该在此次请求之后保持打开状态,默认为keep-alive
*/
Connection: string;
/**
* 描述了主体部分的内容类型,默认为application/json
*/
'content-type': string;
/**
* 用来指示资源的内容所用的语言,默认为ZH
*/
Language: string;
}
/**
* event-source的请求方法,默认为POST
*/
type SSEMethod = 'POST' | 'GET' | 'DELETE' | 'PUT';
/**
* 回调函数
*/
type SSECallBack = (obj?: any) => void;
/**
* 事件类型
* start: 开始连接,回调参数为连接成功后的response
* close: 连接关闭,每次正常连接完毕都会触发,无回调参数
* message: 接收到服务器返回的消息(返回对象type为112时触发),回调参数为返回的数据对象
* error: 连接错误,回调参数为SSEError对象
* end: 接收到最后一条数据(返回对象type为114时触发),回调参数为返回的数据对象
*/
type SSEventType = 'start' | 'close' | 'message' | 'error' | 'end';
/**
* SSEClient 配置项
* headers: 请求头信息,默认为{cache-control:no-cache,Connection:keep-alive,content-type:application/json,Language:zh}
* method: 请求方法,默认为POST
*/
type SSEClientOptions = {
headers?: SSEHeaders;
method?: SSEMethod;
};
/**
* message 响应数据的状态码
*/
export declare enum SSECodeStatus {
/**
* 响应数据正常
*/
NORMAL = "112",
/**
* 响应数据表示触发太多次违规
*/
BAN = "100",
/**
* 最后一条响应数据
*/
END = "114"
}
export type { SSEHeaders, SSECallBack, SSEventType, SSEMethod, SSEClientOptions };