Skip to content

Instantly share code, notes, and snippets.

@pavelpower
Last active December 23, 2015 18:29
Show Gist options
  • Save pavelpower/6676093 to your computer and use it in GitHub Desktop.
Save pavelpower/6676093 to your computer and use it in GitHub Desktop.
Пример сервера который получает параметры для сложения и умножения
var http = require('http');
var url = require('url');
// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
var res;
// распарсиваем url-строку в объект data
var data = url.parse(request.url, true);
// упрощаем жизнь и получаем данные которые идут после знака ? в url строке
// а так как мы ее распарсили то они уже представленны объектом - это удобно
var queryData = data.query;
// указываем зоголовок, что наш ответ с кодом 200 - удачный
// и ответ будет содержать текстовые данные
response.writeHead(200, {"Content-Type": "text/plain"});
// проверяем если наш url указан как sum и два параметра x и y сущетвуют
// то выполняем сложение
if (data.pathname == '/summ' && queryData.x != null && queryData.y != null) {
// суммируем, так как параметры в строке это текст, мы сначала превращаем их в числа
// с помощью функции parseInt по основанию 10 (десятичная система счисления)
res = parseInt(queryData.x, 10) + parseInt(queryData.y, 10);
// хотя можно это все сократить до такого (потому что это js):
// res = 1 * queryData.x + 1 * queryData.y;
response.end('summ: ' + res);
// выходим из функции
return;
}
if (data.pathname == '/multi' && queryData.x != null && queryData.y != null) {
// умножаем, так как параметры в строке это текст, мы сначала превращаем их в числа
// с помощью функции parseInt по основанию 10 (десятичная система счисления)
res = parseInt(queryData.x, 10) * parseInt(queryData.y, 10);
// хотя можно это все сократить до такого (потому что это js):
// res = queryData.x * queryData.y;
response.end('multi: ' + res);
return;
}
response.end('set to browser field: localhost:8888/summ?x=3&y=4');
});
// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8888);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment