UNPKG

kaven-utils

Version:

Utils for Node.js.

34 lines (33 loc) 1.59 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: 2024-11-01 10:48:07.314 * @version: 5.4.5 * @times: 45 * @lines: 198 * @copyright: Copyright © 2022-2024 Kaven. All Rights Reserved. * @description: [description] * @license: [license] ********************************************************************/ 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; protected Log(...args: unknown[]): void; protected Error(...args: 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; }