From 11d6c4eef0c2b5f93b0b4d758698ae531a7f809c Mon Sep 17 00:00:00 2001 From: Artur Shatskov Date: Sat, 7 Feb 2026 01:17:01 +0100 Subject: [PATCH 1/2] Solution --- src/createServer.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/createServer.js b/src/createServer.js index 1fc5f4e..c1f9e89 100644 --- a/src/createServer.js +++ b/src/createServer.js @@ -1,9 +1,19 @@ /* eslint-disable no-console */ 'use strict'; +const http = require('http'); + function createServer() { - /* Write your code here */ - // Return instance of http.Server class + return http.createServer((req, res) => { + const normalizedUrl = new URL(req.url, `http://${req.headers.host}`); + const parts = normalizedUrl.pathname.slice(1).split('/'); + const query = Object.fromEntries(normalizedUrl.searchParams.entries()); + + console.log('Received request:', { parts, query }); + + res.writeHead(200, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify({ parts, query })); + }); } module.exports = { From c98823df366f8257d8f1ba9acdc54bc7eef6114f Mon Sep 17 00:00:00 2001 From: Artur Shatskov Date: Sat, 7 Feb 2026 01:20:00 +0100 Subject: [PATCH 2/2] Solution2 --- src/createServer.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/createServer.js b/src/createServer.js index c1f9e89..54a844b 100644 --- a/src/createServer.js +++ b/src/createServer.js @@ -6,7 +6,10 @@ const http = require('http'); function createServer() { return http.createServer((req, res) => { const normalizedUrl = new URL(req.url, `http://${req.headers.host}`); - const parts = normalizedUrl.pathname.slice(1).split('/'); + const parts = normalizedUrl.pathname + .slice(1) + .split('/') + .filter((part) => part.length > 0); const query = Object.fromEntries(normalizedUrl.searchParams.entries()); console.log('Received request:', { parts, query });