UNPKG

kaven-utils

Version:

Utils for Node.js.

36 lines (35 loc) 1.66 kB
/******************************************************************** * @author: Kaven * @email: kaven@wuwenkai.com * @website: http://blog.kaven.xyz * @file: [Kaven-Utils] /src/net/proxy/AbstractProxyServer.ts * @create: 2022-04-18 13:40:29.991 * @modify: 2025-10-14 22:58:04.864 * @version: 6.1.0 * @times: 50 * @lines: 200 * @copyright: Copyright © 2022-2025 Kaven. All Rights Reserved. * @description: [description] * @license: [license] ********************************************************************/ import { ILoggingAgent } from "kaven-basic"; import { Socket } from "node:net"; import { KavenAuthentication } from "../authentication/KavenAuthentication.js"; import { HttpRequestMessage } from "../http/HttpRequestMessage.js"; import { HttpProxyUser } from "./HttpProxyUser.js"; export declare abstract class AbstractProxyServer { protected readonly socketClientMap: Map<Socket, HttpProxyUser>; EnableLog: boolean; EnableError: boolean; Verbose: boolean; Authorization?: KavenAuthentication; Logger?: ILoggingAgent; protected Log(data: unknown): void; protected Error(data: unknown): void; protected onData(client: HttpProxyUser, data: Buffer): Promise<void>; protected writeToServer(req: HttpRequestMessage, proxyToServerSocket: Socket): void; protected connect(port: number, host?: string): Promise<Socket>; protected handleHttpRequest(client: HttpProxyUser, req: HttpRequestMessage): Promise<void>; protected onSocketConnected(userSocket: Socket): void; protected Stop(client: HttpProxyUser, msg?: string): void; }