kaven-utils
Version:
Utils for Node.js.
49 lines (48 loc) • 1.65 kB
JavaScript
/********************************************************************
* @author: Kaven
* @email: kaven@wuwenkai.com
* @website: http://blog.kaven.xyz
* @file: [Kaven-Utils] /src/net/proxy/HttpProxyServer.ts
* @create: 2022-04-11 17:43:35.253
* @modify: 2024-09-06 15:44:20.891
* @version: 5.4.4
* @times: 73
* @lines: 58
* @copyright: Copyright © 2022-2024 Kaven. All Rights Reserved.
* @description: [description]
* @license: [license]
********************************************************************/
import { createServer } from "node:net";
import { AbstractProxyServer } from "./AbstractProxyServer.js";
export class HttpProxyServer extends AbstractProxyServer {
server = createServer();
Initialize() {
this.server.on("connection", (userSocket) => {
this.onSocketConnected(userSocket);
});
this.server.on("error", (err) => {
this.Log("Some internal server error occurred");
this.Error(err);
});
this.server.on("close", () => {
this.Log("Client disconnected");
});
}
/**
*
* @param port defaults `1080`
* @param hostname defaults `127.0.0.1`
* @param backlog
*/
Start(port = 1080, hostname = "127.0.0.1", backlog) {
this.Initialize();
this.server.listen(port, hostname, backlog, () => {
this.Log(`Http Proxy Server listening on ${hostname}:${port}`);
});
}
StopServer() {
this.server.close(err => {
this.Log(`Http Proxy Server closed: ${err}`);
});
}
}