Как создать http-сервер с помощью Node.js?
Как мне создать http-сервер, который будет работать на порту 9999 и занимается следующей задачей:
Анализирует аргумент коллбека
request, а именно его свойствоheaders.В ответ присылает все значения из
headersв формате:name: value name: valueContent-Type должен быть выставлен как
text/plain?
'use strict';
const http = require('http');
const server = http.createServer(function (request,responce) {
responce.setHeader('Content-Type','text/plain, charset=utf-8');
responce.setHeader('Content-Type','text/plain', {name: +'value\n'});
responce.setHeader('Content-Type','text/plain', {name: +'value\n'});
responce.end('ok');
});
const port = 9999;
server.listen(port);
Ответы (3 шт):
Вот так через ":":
const data = Object.entries(request.headers).map(pair=>pair.join(": ")).join('\n');
'use strict';
const http = require('http');
const server = http.createServer(function(request, response) {
response.setHeader('Content-Type','text/plain');
let value='';
const requestHeaders = request.headers;
for (const name in requestHeaders) {
value = value + name +':'+ requestHeaders[name]+ '\n';
}
response.end(value);
});
const port = 9999;
server.listen(port);
Создать http-server в принципе не сложно, но реализовать полноценную работу сервера с обработчиками запросов, событий, данных, ошибок и т.п. - задача трудоемкая и затрагивает очень много тем, глубокого познания Node.js и принципы работы с потоками, событиями, сокетами, состоянием, http / https протоколами и многого другого.
Вот здесь можете посмотреть один из примеров реализации серверной части без каких либо фреймворков. Ну или можете реализовать свой сервер с помощью Express.js или Nest.js