Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   передача буфера в сервер (в response) (https://javascript.ru/forum/node-js-io-js/55488-peredacha-bufera-v-server-v-response.html)

:before 30.04.2015 00:30

передача буфера в сервер (в response)
 
привет всем!
в общем, посмотрел я немножко Ильи скринкаста, зашел в ноду, и.. наворотил делов ;)
а вот как, решил распределить функционал по модулям, чтоб сервер был в server.js, а файловая система в files.js. немного подумав, выделил в safe.js часть, где проверяется request на порядочность и тд.

в сервере сделал страшную функцию, которую делать нельзя:
//server.js:
server.on('request', function(req, res) {
  // app.get - управляется с модулями, кому че, да как, колбек отдает в reader
  app.get(req, function(err, resObj) { 
    if (err) return console.error(err);
    res.writeHead(resObj.head);
    res.end(resObj.body);
  });
});

//files.js:
exports.reader = function(reqSafe, callRes) {
  var resObj = new Object(),
      file = fs.readStream(reqSafe);
  resObj.head = "200,{...}";
  resObj.body = "";
  file.pipe(resObj.body);
  callRes(null, resObj);
};

и пайп не работает так. убрал функцию в сервере, просто поставил res, и в files.js тоже, все норм, а в объект не хочет.
а хочется, чтоб отправлялись заголовки нужные, и все такое.
буду благодарен за помощь:)

Gozar 30.04.2015 09:21

:before,
Открой для себя Express иначе ты его почти один в один в итоге переизобретешь, тебе оно надо? Но если надо, то конечно делай. Потом расскажешь почему не работало :)

:before 30.04.2015 11:21

не то, чтобы у меня сроки по сдаче проекта горели. я спрашиваю, чтоб узнать\понять в чем тут дело. да и если переизобрету, то хоть буду понимать как он работает;)

Gozar 30.04.2015 13:18

Цитата:

Сообщение от :before
переизобрету, то хоть буду понимать как он работает

Лень тратить время.
Цитата:

Сообщение от Gozar
расскажешь почему не работало


kobezzza 30.04.2015 14:13

Цитата:

Открой для себя Express
Лучше Koa :)

:before 30.04.2015 14:57

ну, ребят. почему, а? никто чель не знает?

Gozar 30.04.2015 15:23

Цитата:

Сообщение от :before
ну, ребят. почему, а? никто чель не знает?

Цитата:

Сообщение от Gozar
Лень тратить время.

Есть гораздо больше приятных бессмысленных занятий, чем ковыряться в твоём коде, который и тебе то не особо нужен.

Erolast 30.04.2015 16:29

Цитата:

var resObj = new Object()
resObj.head = "200,{...}";
resObj.body = "";
Литералы для лохов?
let resObj = {
  head: "200,{...}",
  body: ""
}


Цитата:

пайп не работает
А должен? Иди пересмотри выпуски о сигнатуре метода pipe, его применении и отличии потоков от строк (номера 25-26).

:before 30.04.2015 23:31

Цитата:

Сообщение от Erolast (Сообщение 368861)
А должен? Иди пересмотри выпуски о сигнатуре метода pipe, его применении и отличии потоков от строк (номера 25-26).

Неа, не должен.
Я так и сделал, пересмотрел про pipe, все понял.. :-?
наверно реализация такого кода будет большим таким костылем, но я его все-равно потом удалю ;)

Цитата:

Литералы для лохов?
let resObj = {
  head: "200,{...}",
  body: ""
}

да, так красивей

спасибо за внимание


Часовой пояс GMT +3, время: 03:39.