Реализуйте HTTP сервер который принимает только POST запросы и конвертирует все символы тела запроса в верхний регистр и возвращает их клиенту.
Ваш сервер должен слушать порт, который Вы получите в качестве первого аргумента командной строки.
Пока Вы не ограничены в использовании потоковых возможностей объектов request
и response
, это будет на много легче, если Вы ими воспользуетесь.
Есть множество различных библиотек в npm, которые Вы можете использовать для "преобразования" потока данных. Библиотека through2-map
предоставляет самое простое API для данной задачи.
through2-map
позволяет создать преобразованный поток используя только одну функцию, которая принимает фрагмент данных и возвращает фрагмент данных. Это работает практически так же как Array#map()
только с потоками:
var map = require('through2-map')
inStream.pipe(map(function (chunk) {
return chunk.toString().split('').reverse().join('')
})).pipe(outStream)
В примере выше, входящий поток данных из inStream
конвертируется в строку (если еще не строка), символы переставляются в обратном порядке и результат направляется в outStream
. Таким образом мы сделали преобразователь фрагментов данных в обратном порядке. Помните о том, что размер фрагментов данных определяется вне потока и вы мало что можете сделать с этим размером для входящих данных.
Для установки through2-map
наберите:
$ npm install through2-map
Если у Вас отсутствует соединение с интернетом, просто создайте директорию node_modules
и скопируйте туда директорию с библиотекой, которую Вы хотите использовать из learnyounode:
Документацию для through2-map вы cможете получить, набрав в браузере: