Quiero proporcionar mi propia clase personalizada http.IncomingMessage y http.ServerResponse a http.createServer(opt,fn) . He estado buscando durante aproximadamente 2 horas para encontrar una forma de escribir esto en mecanografiado. Pero no ayudó. Pero este mismo código funciona en JS. Por favor, ayúdame . Solo quiero proporcionar un objeto de solicitud y respuesta personalizado a http.createServer() .
Aquí está mi archivo server.js JAVASCRIPT.
const { createServer, IncomingMessage, ServerResponse } = require("http"); class Request extends IncomingMessage { constructor(socket) { super(socket); } getMeAnything() { return "you got REQUEST"; } } class Response extends ServerResponse { constructor(req) { super(req); } getMeAnything() { return "you got RESPONSE"; } } const server = createServer( { IncomingMessage: Request, ServerResponse: Response, }, (req, res) => { console.log(req.getMeAnything()); res.end("Hello How are you ?"); } ); server.listen(3000);aquí está mi archivo server.ts TYPESRIPT:
import { Socket } from "net"; import { createServer, IncomingMessage, ServerResponse } from "http"; class Req extends IncomingMessage { constructor(socket: Socket) { super(socket); } getMeAnything() { return "you got anything inside REQUEST"; } } class Res extends ServerResponse { constructor(req: IncomingMessage) { super(req); } getMeAnything() { return "you got anything inside RESPONSE"; } } const server = createServer( { IncomingMessage: Req, ServerResponse: Res, }, (req: Req, res: Res) => { // here I get a big fat error . Some suggested me to write @ts-ignore . But I think there is a solution for it . console.log(req.getMeAnything()); res.end("Hello How are you ?"); } ); server.listen(3000);