Last active
December 23, 2015 18:29
-
-
Save pavelpower/6676093 to your computer and use it in GitHub Desktop.
Пример сервера который получает параметры для сложения и умножения
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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