Реализуйте HTTP сервер, который возвращает JSON объект на GET запрос по адресу /api/parsetime
. Запрос должен содержать в строке запроса ключ 'iso' и время в ISO-формате в качестве значения.
Например:
/api/parsetime?iso=2013-08-10T12:10:15.474Z
JSON объект в ответе должен содержать только следующие свойства: 'hour', 'minute' и 'second'. Пример ответа:
{
"hour": 14,
"minute": 23,
"second": 15
}
Так же сервер должен обрабатывать запрос на '/api/unixtime' который содержит такую же строку запроса, но возвращает UNIX-время в миллисекундах (количетсво миллисекунд прошедшее с 1 января 1970 00:00:00 UTC) в свойстве 'unixtime'. Пример ответа:
{ "unixtime": 1376136615474 }
Ваш сервер должен слушать порт, который Вы получите в качестве первого аргумента командной строки.
Объект request
в HTTP сервере имеет свойство url
, которое Вы должны использовать, для того чтобы "напрявлять" запросы к нужным обработчикам.
Вы можете парсить URL и строку запроса используя встроенный модуль url
. url.parse(request.url, true)
пропарсит request.url и вернет объект с необходимыми свойствами.
Например, введите в командной строке:
$ node -pe "require('url').parse('/test?q=1', true)"
Документацию для url
вы cможете получить, набрав в браузере:
/node_apidoc/url.html
Ответ сервера должен быть в формате строки JSON. Обратитесь к JSON.stringify()
за дополнительной информацией.
Так же Вы должны быть добропорядочным жителем веба и ставить Content-Type правильно:
res.writeHead(200, { 'Content-Type': 'application/json' })
Объект Date
в JavaScript может возвращать время в ISO формате, например new Date().toISOString()
. Так же он может парсить этот формат, если получит строку со временем на вход в коструктор Date
. Date#getTime()
так же может оказаться полезным.