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({ url, method, queryParams, payload, additionalHeaders, }: NetRequestParams): Promise; /** * 发送GET请求并返回一个解析为响应数据的Promise。 * * @param url - 要发送请求的URL。 * @param queryParams - 要包含在URL中的查询参数。 * @param additionalHeaders - 要包含在请求中的附加头。 * @returns 一个解析为响应数据的Promise。 */ protected get(url: string, queryParams?: any, additionalHeaders?: any): Promise; /** * 发送POST请求并返回一个解析为响应数据的Promise。 * * @param url - 要发送请求的URL。 * @param payload - 请求的有效负载数据。 * @param queryParams - 要包含在URL中的查询参数。 * @param additionalHeaders - 要包含在请求中的附加头。 * @returns 一个解析为响应数据的Promise。 */ protected post(url: string, payload?: any, queryParams?: any, additionalHeaders?: any): Promise; /** * 发送PUT请求并返回一个解析为响应数据的Promise。 * * @param url - 要发送请求的URL。 * @param payload - 请求的有效负载数据。 * @param queryParams - 要包含在URL中的查询参数。 * @param additionalHeaders - 要包含在请求中的附加头。 * @returns 一个解析为响应数据的Promise。 */ protected put(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise; /** * 发送DELETE请求并返回一个解析为响应数据的Promise。 * * @param url - 要发送请求的URL。 * @param payload - 请求的有效负载数据。 * @param queryParams - 要包含在URL中的查询参数。 * @param additionalHeaders - 要包含在请求中的附加头。 * @returns 一个解析为响应数据的Promise。 */ protected del(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise; /** * 发送PATCH请求并返回一个解析为响应数据的Promise。 * * @param url - 要发送请求的URL。 * @param payload - 请求的有效负载数据。 * @param queryParams - 要包含在URL中的查询参数。 * @param additionalHeaders - 要包含在请求中的附加头。 * @returns 一个解析为响应数据的Promise。 */ protected patch(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise; } declare class NetTool extends NetToolBase { request({ url, method, queryParams, payload, additionalHeaders, }: NetRequestParams): Promise; get(url: string, queryParams?: any, additionalHeaders?: any): Promise; post(url: string, payload?: any, queryParams?: any, additionalHeaders?: any): Promise; put(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise; del(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise; patch(url: string, payload: any, queryParams?: any, additionalHeaders?: any): Promise; /** * 创建一个表示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 };