Anonymous
но есть подозрение, что это лучше не на ноде делать
Dany 🏴
привет
Dany 🏴
с чего начать изучение node.js?
Dany 🏴
хочу в backend
Дима
С чтения доки. Нода — это просто набор api
Андрей
ошибся. там через 5 минут засыпает контейнер
Если по хттп обратиться то не заснёт три периода отключений.
vitshev
ребята, как корректно прервать post запрос и вернуть ошибку не дожидаясь загрузки всех чанков нодой?
Petr
Всем привет!
Petr
Полгода использую ноду, и только понял что встретился с callbak hell
Petr
Послветуйте пожалуйста решение
Semyon
async/await
Vladislav 👻
Petr
Пишу на es6
Petr
Пытался с промисами но че то не выходит
vitshev
Ты его отправил и уже не отменишь
Если например у пользователя нет прав на запись, как быть, просто прочитать все данне а после ошибку вернуть?
დამირი
Всем привет! ▫️Какой у вас проект или где работаете? Пока нигде. Изучаю веб-технологии ▫️В чём вы специалист? Сисадмин-эникейщик ▫️Чем можете быть интересны или полезны сообществу? Пока ничем. Сорян :) ▫️Чем интересно сообщество вам? Буду смотреть и слушать умных людей ▫️Откуда вы? РФ ▫️Как узнали про группу? Где-то увидел линк из другой группы #whois
vitshev
403 в статусе ответа возращается но тело ответа нет.
vitshev
если зарегистрирую callback на чтение чанков то тело будет
Vladimir
vitshev
Посмотрел про superagent, это чуть не то. post запрос мне присылают. В любом случае, если я делаю this.req.abort(); то будет 500 а это некорректный ответ
Vladimir
а, я тебя не так понял. superagent это клиентская библиотека
Vladimir
тоогда я не понимаю в чем проблема. return res.status(нужный статус).end() в месте где нужно прервать запрос
vitshev
проблема в том, что если мне отправляют файл в 100мб, пока я их не прочитаю, я не смогу вернуть тело ошибки о том, что 401
vitshev
ошибся, 401 а не 403)
vitshev
то есть у пользователя вообще нет прав что-то присылать мне)
Vladimir
stream не спасет отца русской демократии?
vitshev
как он должен спасать?
Vladimir
я еще больше ничего не понимаю
Vladimir
если у него нет прав присылать тебе что-то то как он может это делать
Vladimir
?
vitshev
Чтобы проверить права пользователя, я должен получить запрос, проверить его куки
Vladimir
ну stream чанками получает информацию
vitshev
Если там false я выбрасываю ошибку
vitshev
то есть ответат со статусом 401 и тело ошибки в json
vitshev
проблема в том
vitshev
что приходит ответа со статусом 401 но тела ошибки нет
vitshev
хотя перед самым req.end('blabla') тело есть
vitshev
и тут такая штука, что если я в любом случае вешаю обработчик на чтение чанков this.req.on('data', callback)
vitshev
то тело ошибки доходит корректно
vitshev
возможно это что-то из стандарта http
vitshev
что я не очень знаю
vitshev
но хз
Vladimir
незнаю чем тебе помочь
vitshev
и на том спасибо, буду копать)
Sergo
Дарт будет жить?
Pavel
пользовался ли кто momentjs? как складывать время?
Pavel
к примеру 1:25 + 1.50 = 3:15
Pavel
хотя вопрос решен
Pavel
все пользовались
Но никто не ответил 😁
Aleksei
там есть встроенные функции. вычитание называется subtract, сложение не помню, предположу, что add
Vlad
Но никто не ответил 😁
за три минуты-то? конечно
vitshev
Как вы заворачиваете запрос, если файл очень большой, например? можно конечно на уровне nginx но в ноде?
Vint
Как вы заворачиваете запрос, если файл очень большой, например? можно конечно на уровне nginx но в ноде?
Не можно, а нужно. Нечего насиловать application ненужными данными, пусть nginx отсеивает по заголовку.
vitshev
Если в ответе тело нужно
Vitaliy
content-length или типа того? не помню, что там клиент отсылать должен
Vint
Если в ответе тело нужно
Уникальное или единое для всех?
vitshev
Уникальное или единое для всех?
Допустим уникальное для каждого пользователя
Vint
Допустим уникальное для каждого пользователя
Тогда таки проксировать в app. Или на lua в nginx писать)
Vitaliy
@geekiams вот еще про разбор: https://docs.api.ai/docs/languages
Vitaliy
Вау, вот это темпы! Меньше пары месяцев прошло с момента, как гугл купил api.ai, и вот запускается уже специальный раздел, позволяющий использовать этот фреймворк для улучшения google assistant. Ничего особенно нового тут нет, это просто интеграция уже известного нам api.ai и других инструментов для написания "скиллов" гугласистента. Но скорость для корпорации просто невероятная - значит они чувствуют конкуренцию и спешат не просто так. Активная конкуренция в поле "неестественного интеллекта", она буквально на всех фронтах - в ассистентах, в сервисах и опенсорс-библиотеках, в пиаре, во всем. Причем игроков на поле боя много, это не только классическая тройка гугл-эппл-майкрософт, но и новички в этой игре, вроде Амазона, который внезапно выбивается в лидеры. Страшно интересно за всем этим наблюдать. И, пожалуй, хорошо что мне не приходится в этой игре учавствовать, масштаб не мой конечно https://developers.googleblog.com/2016/12/start-building-actions-on-google.html
vitshev
Видимо для ноды надо в любоем случае считать первый чанк, потом удалить обработчик и вернуть тело ответа, тогда ответ будет корректный
Ohar
пользовался ли кто momentjs? как складывать время?
Чем плохо перевести в миллисекунды и сложить?
Evgeny
хочу в backend
Зачем, Там плохо - денег нет, работы нет, голодаем
Igor
vitshev
Посмотри как это сделано в любом популярном middleware для express, multiparty, например.
да также и сделано, тупо читает все чанки и складывает, если размер превысил допустимый то снимает обработчики и выкидывает ошибку
Vint
да также и сделано, тупо читает все чанки и складывает, если размер превысил допустимый то снимает обработчики и выкидывает ошибку
Ну, значит так и надо) И на каждой итерации проверять общий размер - если превышено, то ошибка. Потому что http-заголовок не панацея, его можно обмануть.
vitshev
Ну, значит так и надо) И на каждой итерации проверять общий размер - если превышено, то ошибка. Потому что http-заголовок не панацея, его можно обмануть.
Просто выходит, если у пользователя нет доступа на запись файлов, то в любом случае надо прочитать первый чанк, потом снять обработчик и бросить ошибку со статусом 401
Vitaliy
Кажется, эта задача уже не раз решалась, и наверняка есть модули для этого ;)
Vladimir
Нужно либо читать весь файл либо закрывать соединение
Anonymous
Всем доброго времени суток!
Anonymous
пытаюсь научить бота делать список, т.е. я ему отправляю !Петров он видя этот знак "!" сажает имя "Петров" в таблицу
Anonymous
function insertname(name) { var query = connection.query('INSERT INTO Spisok (name) VALUES ('+name+')', function(err, result) { console.log(err); console.log(result); });