@@ -253,6 +253,32 @@ export class Server {
253253 return this . #router
254254 }
255255
256+ /**
257+ * Creates an instance of the [[Request]] class
258+ */
259+ createRequest ( req : IncomingMessage , res : ServerResponse ) {
260+ return new Request ( req , res , this . #encryption, this . #config, this . #qsParser)
261+ }
262+
263+ /**
264+ * Creates an instance of the [[Response]] class
265+ */
266+ createResponse ( req : IncomingMessage , res : ServerResponse ) {
267+ return new Response ( req , res , this . #encryption, this . #config, this . #router, this . #qsParser)
268+ }
269+
270+ /**
271+ * Creates an instance of the [[HttpContext]] class
272+ */
273+ createHttpContext ( request : Request , response : Response , resolver : ContainerResolver < any > ) {
274+ return new HttpContext (
275+ request ,
276+ response ,
277+ this . #logger. child ( { request_id : request . id ( ) } ) ,
278+ resolver
279+ )
280+ }
281+
256282 /**
257283 * Handle request
258284 */
@@ -267,19 +293,9 @@ export class Server {
267293 * Creating essential instances
268294 */
269295 const resolver = this . #app. container . createResolver ( )
270- const request = new Request ( req , res , this . #encryption, this . #config, this . #qsParser)
271- const response = new Response (
272- req ,
273- res ,
274- this . #encryption,
275- this . #config,
276- this . #router,
277- this . #qsParser
278- )
279- const ctx = new HttpContext (
280- request ,
281- response ,
282- this . #logger. child ( { request_id : request . id ( ) } ) ,
296+ const ctx = this . createHttpContext (
297+ this . createRequest ( req , res ) ,
298+ this . createResponse ( req , res ) ,
283299 resolver
284300 )
285301
0 commit comments