diff --git a/src/createServer.js b/src/createServer.js index 1cf1dda..634f3f1 100644 --- a/src/createServer.js +++ b/src/createServer.js @@ -1,10 +1,109 @@ 'use strict'; +const http = require('http'); +const fs = require('fs/promises'); +const path = require('path'); + +const dataPath = path.resolve(__dirname, '../db/expense.json'); + function createServer() { - /* Write your code here */ - // Return instance of http.Server class + return http.createServer(async (req, res) => { + const url = new URL(req.url, `http://${req.headers.host}`); + + // ГЕНЕРУЄМО ФОРМУ + if (url.pathname === '/' && req.method === 'GET') { + res.setHeader('Content-Type', 'text/html'); + + return res.end(` + + +
+ + +
+ ${JSON.stringify(expense, null, 2)}
+
+ Back to form
+
+
+ `);
+ } else {
+ // Відповідь для ТЕСТІВ (axios)
+ res.setHeader('Content-Type', 'application/json');
+
+ return res.end(JSON.stringify(expense));
+ }
+ } catch (err) {
+ res.statusCode = 400;
+
+ return res.end('Error processing request');
+ }
+ }
+
+ // Всі інші маршрути — 404
+ res.statusCode = 404;
+ res.end('Not Found');
+ });
}
-module.exports = {
- createServer,
-};
+module.exports = { createServer };