egg_tools/dist/netTool.d.ts

153 lines
6.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Logger } from "winston";
interface NetRequestParams {
url: string;
method: string;
queryParams?: any;
payload?: any;
additionalHeaders?: any;
}
interface NetErrorDetail {
httpStatus: number;
code: number;
message: string;
}
export declare class NetError extends Error {
code: number;
message: string;
httpStatus: number;
constructor({ code, message, httpStatus }: NetErrorDetail);
}
/**
* 网络工具类提供发送HTTP请求的方法。
*/
declare class NetToolBase {
protected prefix: string;
protected headers: any;
protected getHeaders: () => any;
protected logger: Logger;
protected requestId: string;
/**
* 创建一个网络工具类实例。
*
* @param {Object} params - 构造函数参数。
* @param {string} [params.prefix] - URL前缀。
* @param {any} [params.headers] - 默认请求头。
* @param {Function} [params.getHeaders] - 获取请求头的方法。
* @param {string} [params.requestId] - 请求ID。
*/
constructor({ prefix, headers, getHeaders, requestId, }?: {
prefix?: string;
headers?: any;
getHeaders?: () => any;
requestId?: string;
});
/**
* 记录响应详情并返回响应日志对象。
* @param response - 响应对象。
* @param method - 请求使用的HTTP方法。
* @param headers - 请求头。
* @param requestBody - 请求体。
* @param responseBody - 响应体。
* @returns 响应日志对象。
*/
private logResponse;
/**
* 发送网络请求并返回一个解析为响应数据的Promise。
* @param url - 要发送请求的URL。
* @param method - 请求使用的HTTP方法。
* @param queryParams - 要包含在URL中的查询参数。
* @param payload - 请求的有效负载数据。
* @param additionalHeaders - 要包含在请求中的附加头。
* @returns 一个解析为响应数据的Promise。
* @throws 如果网络响应不成功或存在解析错误,则抛出错误。
*/
protected request<T = any>({ url, method, queryParams, payload, additionalHeaders, }: NetRequestParams): Promise<T>;
/**
* 发送GET请求并返回一个解析为响应数据的Promise。
*
* @param url - 要发送请求的URL。
* @param queryParams - 要包含在URL中的查询参数。
* @param additionalHeaders - 要包含在请求中的附加头。
* @returns 一个解析为响应数据的Promise。
*/
protected get<T = any>(url: string, queryParams?: any, additionalHeaders?: any): Promise<T>;
/**
* 发送POST请求并返回一个解析为响应数据的Promise。
*
* @param url - 要发送请求的URL。
* @param payload - 请求的有效负载数据。
* @param queryParams - 要包含在URL中的查询参数。
* @param additionalHeaders - 要包含在请求中的附加头。
* @returns 一个解析为响应数据的Promise。
*/
protected post<T = any>(url: string, payload?: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
/**
* 发送PUT请求并返回一个解析为响应数据的Promise。
*
* @param url - 要发送请求的URL。
* @param payload - 请求的有效负载数据。
* @param queryParams - 要包含在URL中的查询参数。
* @param additionalHeaders - 要包含在请求中的附加头。
* @returns 一个解析为响应数据的Promise。
*/
protected put<T = any>(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
/**
* 发送DELETE请求并返回一个解析为响应数据的Promise。
*
* @param url - 要发送请求的URL。
* @param payload - 请求的有效负载数据。
* @param queryParams - 要包含在URL中的查询参数。
* @param additionalHeaders - 要包含在请求中的附加头。
* @returns 一个解析为响应数据的Promise。
*/
protected del<T = any>(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
/**
* 发送PATCH请求并返回一个解析为响应数据的Promise。
*
* @param url - 要发送请求的URL。
* @param payload - 请求的有效负载数据。
* @param queryParams - 要包含在URL中的查询参数。
* @param additionalHeaders - 要包含在请求中的附加头。
* @returns 一个解析为响应数据的Promise。
*/
protected patch<T = any>(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
}
declare class NetTool extends NetToolBase {
request<T = any>({ url, method, queryParams, payload, additionalHeaders, }: NetRequestParams): Promise<T>;
get<T = any>(url: string, queryParams?: any, additionalHeaders?: any): Promise<T>;
post<T = any>(url: string, payload?: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
put<T = any>(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
del<T = any>(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
patch<T = any>(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise<T>;
/**
* 创建一个表示400 Bad Request的响应对象。
*
* @param message - 错误消息。
* @returns 一个表示400 Bad Request的响应对象。
*/
badRequest(message: string): import("undici-types").Response;
/**
* 创建一个表示404 Not Found的响应对象。
*
* @param message - 错误消息。
* @returns 一个表示404 Not Found的响应对象。
*/
notFound(message: string): import("undici-types").Response;
/**
* 创建一个表示500 Internal Server Error的响应对象。
*
* @param message - 错误消息。
* @param data - 错误数据。
* @returns 一个表示500 Internal Server Error的响应对象。
*/
serverError(message: string, data?: any): import("undici-types").Response;
/**
* 创建一个表示200 OK的响应对象。
*
* @param data - 响应数据。
* @returns 一个表示200 OK的响应对象。
*/
ok(data?: any): import("undici-types").Response;
}
export { NetTool, NetToolBase };