171 lines
4.2 KiB
TypeScript
171 lines
4.2 KiB
TypeScript
import { NetRequestParams } from "../types"
|
|
import NetToolBase from "./base"
|
|
|
|
class NetTool extends NetToolBase {
|
|
public request<T = any>({
|
|
url,
|
|
method,
|
|
queryParams,
|
|
payload,
|
|
additionalHeaders,
|
|
}: NetRequestParams): Promise<T> {
|
|
return super.request<T>({
|
|
url,
|
|
method,
|
|
queryParams,
|
|
payload,
|
|
additionalHeaders,
|
|
})
|
|
}
|
|
public get<T = any>(
|
|
url: string,
|
|
queryParams?: any,
|
|
additionalHeaders?: any
|
|
): Promise<T> {
|
|
return super.get<T>(url, queryParams, additionalHeaders)
|
|
}
|
|
public post<T = any>(
|
|
url: string,
|
|
payload?: any,
|
|
queryParams?: any,
|
|
additionalHeaders?: any
|
|
): Promise<T> {
|
|
return super.post<T>(url, payload, queryParams, additionalHeaders)
|
|
}
|
|
public put<T = any>(
|
|
url: string,
|
|
payload: any,
|
|
queryParams?: any,
|
|
additionalHeaders?: any
|
|
): Promise<T> {
|
|
return super.put<T>(url, payload, queryParams, additionalHeaders)
|
|
}
|
|
public del<T = any>(
|
|
url: string,
|
|
payload: any,
|
|
queryParams?: any,
|
|
additionalHeaders?: any
|
|
): Promise<T> {
|
|
return super.del<T>(url, payload, queryParams, additionalHeaders)
|
|
}
|
|
public patch<T = any>(
|
|
url: string,
|
|
payload: any,
|
|
queryParams?: any,
|
|
additionalHeaders?: any
|
|
): Promise<T> {
|
|
return super.patch<T>(url, payload, queryParams, additionalHeaders)
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示403 Forbidden的响应对象。
|
|
*
|
|
* @param message - 错误消息。
|
|
* @returns 一个表示403 Forbidden的响应对象。
|
|
*/
|
|
forbidden(message: string) {
|
|
this.logger.error(`return a forbidden response: ${message}`)
|
|
return Response.json(
|
|
{ code: 403, message, requestId: this.requestId },
|
|
{ status: 403 }
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示400 Bad Request的响应对象。
|
|
*
|
|
* @param message - 错误消息。
|
|
* @returns 一个表示400 Bad Request的响应对象。
|
|
*/
|
|
badRequest(message: string) {
|
|
this.logger.error(`return a bad request response: ${message}`)
|
|
return Response.json(
|
|
{ code: 400, message, requestId: this.requestId },
|
|
{ status: 400 }
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示404 Not Found的响应对象。
|
|
*
|
|
* @param message - 错误消息。
|
|
* @returns 一个表示404 Not Found的响应对象。
|
|
*/
|
|
notFound(message: string) {
|
|
this.logger.error(`return a not found response: ${message}`)
|
|
return Response.json(
|
|
{ code: 404, message, requestId: this.requestId },
|
|
{ status: 404 }
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示500 Internal Server Error的响应对象。
|
|
*
|
|
* @param message - 错误消息。
|
|
* @param data - 错误数据。
|
|
* @returns 一个表示500 Internal Server Error的响应对象。
|
|
*/
|
|
serverError(message: string, data?: any) {
|
|
this.logger.error(`return a server error response: ${message}`)
|
|
return Response.json(
|
|
{ code: 500, message, data, requestId: this.requestId },
|
|
{ status: 500 }
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示200 OK的响应对象。
|
|
*
|
|
* @param data - 响应数据。
|
|
* @returns 一个表示200 OK的响应对象。
|
|
*/
|
|
ok(data?: any) {
|
|
this.logger.info(
|
|
`return a ok response${data ? ": " + JSON.stringify(data) : ""}`
|
|
)
|
|
return Response.json({
|
|
code: 0,
|
|
message: "success",
|
|
data,
|
|
requestId: this.requestId,
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示200 OK的响应对象。
|
|
*
|
|
* @param data - 响应数据。
|
|
* @returns 一个表示200 OK的响应对象。
|
|
*/
|
|
json(data = {}) {
|
|
this.logger.info(`return a json response: ${JSON.stringify(data)}`)
|
|
return Response.json(data)
|
|
}
|
|
|
|
/**
|
|
* 创建一个自定义状态码的响应对象。
|
|
* @param data - 响应数据。
|
|
* @param status - 响应状态码。
|
|
* @returns 一个自定义状态码的响应对象。
|
|
*/
|
|
custom(data = null as any, status = 200) {
|
|
this.logger.info(
|
|
`return a ${status} response${data ? ": " + JSON.stringify(data) : ""}`
|
|
)
|
|
return new Response(data, { status: status })
|
|
}
|
|
|
|
/**
|
|
* 创建一个表示200 OK的健康检查响应对象。
|
|
*
|
|
* @param message - 响应消息。
|
|
* @returns 一个表示200 OK的健康检查响应对象。
|
|
*/
|
|
healthCheck(message = "success") {
|
|
return Response.json({ code: 0, message })
|
|
}
|
|
}
|
|
|
|
export default NetTool
|