UNPKG

learnyounode

Version:

Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.

50 lines (32 loc) 2.94 kB
Реализуйте HTTP **сервер**, который возвращает JSON объект на GET запрос по адресу `/api/parsetime`. Запрос должен содержать в строке запроса ключ 'iso' и время в ISO-формате в качестве значения. Например: /api/parsetime?iso=2013-08-10T12:10:15.474Z JSON объект в ответе должен содержать только следующие свойства: 'hour', 'minute' и 'second'. Пример ответа: ```json { "hour": 14, "minute": 23, "second": 15 } ``` Так же сервер должен обрабатывать запрос на '/api/unixtime', который содержит такую же строку запроса, но возвращает UNIX-время в миллисекундах (количество миллисекунд, прошедшее с 1 января 1970 00:00:00 UTC) в свойстве 'unixtime'. Пример ответа: ```json { "unixtime": 1376136615474 } ``` Ваш сервер должен слушать порт, который Вы получите в качестве первого аргумента командной строки. ---------------------------------------------------------------------- ## ИНФОРМАЦИЯ Объект `request` в HTTP сервере имеет свойство `url`, которое Вы должны использовать, для того чтобы *"направлять"* запросы к нужным обработчикам. Вы можете парсить URL и строку запроса используя встроенный модуль `url`. `new URL(request.url)` пропарсит request.url и вернет объект с необходимыми свойствами. Например, введите в командной строке: ```sh $ node -pe "new URL('/test?q=1', 'http://example.com')" ``` Документацию для `url` Вы cможете получить, набрав в браузере: {rootdir:/docs-nodejs/url.html} Ответ сервера должен быть в формате строки JSON. Обратитесь к `JSON.stringify()` за дополнительной информацией. Так же Вы должны быть добропорядочным жителем веба и ставить Content-Type правильно: ```js res.writeHead(200, { 'Content-Type': 'application/json' }) ``` Объект `Date` в JavaScript может возвращать время в ISO формате, например, `new Date().toISOString()`. Так же он может парсить этот формат, если получит строку со временем на вход в коструктор `Date`. `Date#getTime()` также может оказаться полезным.