Anatolii
const socket = io('ws://localhost:3030');
Anatolii
?
енот
Не, если io() тоже самое то моя версия нулевая
Anatolii
пять минут ;)
AlexMist
AlexMist
В сервисе?
Anatolii
В сервисе?
так автосгенеренный. и пустой. Не задумывался как то о нем...
Anatolii
и трабла в том, что по сокету отправить нельзя. фильтр -если вдуматься, на получение сообщений. а сообщения получаются. доходят.
AlexMist
Anatolii
Ну какие тут варианты. npm i feathers-cli -g
Anatolii
все.
Anatolii
или что проверять?
A
Приветы. А есть какой-нибудь работающий способ прокинуть в JS функцию неявно контекст?
Мысль такая: хочу чтобы все логи одного запроса писались с идентификатором запроса. В том, что происходит в экспрессе вопросов нет. А вот как бы поумнее прокинуть этот самый идентификатор запроса методы монгуса?
Явно передавать не нравится, аннотации в ноду пока не завезли.
Рубикон
Рубикон
И инициировать через new нужные префиксы...
Рубикон
Чрезжопно, но работает
Anatolii
по ходу надо будет просто взять их чатовое приложение, выкинуть их логику и впаять свою. хотя... при таком раскладе стоит ли вообще с этими перьями связываться... прямо уже весь в раздумьях...
Рубикон
Эм, разве?
A
Ну смотри, идея такая. Я сейчас немного кода напишу
Рубикон
Что тебе мешает импортировать класс, который за тебя инициирует логер?
Рубикон
Импорт происходит только один раз
Рубикон
В рамках одного пакета, пстественно
A
Так мне надо контекст таскать не в зависимости от того, где он импортируется, а в зависимости от запроса
Анатолий
let debug = require('debug')('main');
debug('blah blah') - будет иметь префикс main в логах
Анатолий
где надо подключаешь и пользуешься
Рубикон
Анатолий
с ватсоном тоже самое можно сделать
Muhammad
/stat@combot
Анатолий
мне просто эта субьективно удобней
Анатолий
айди запроса можно генерить в начале всего через мидлвер и потом его всегда использовать
Анатолий
https://solidgeargroup.com/express-logging-global-unique-request-identificator-nodejs
Анатолий
нечто такое нужно?
Combot
combot.org/chat/-1001041204341
Combot
combot.org/chat/-1001041204341
aziret
/stat@combot
Combot
combot.org/chat/-1001041204341
A
Да ну ёлки, не то же 🙂
Если на пальцах, то хочется вот так:
function setIdMW(req, res, next) {
req.__id = randomId();
next();
}
router.post('/users', (req, res, next) => {
const {__id} = req;
logger.debug(`${__id}: calling /users with arguments: ...`); // (1)
const newUser = UserModel.createUser(req.body); // (2)
res.json(newUser);
next();
});
Комменты:
Специально использую тупой прямой подход с логгером и формированием строчки вручную, чтобы всё прямо в примере было.
1 - типа что-то мы здесь логгируем. Важно, что в экспрессе - тут всегда есть где взять контекст - req, res на выбор
2 - a вот сюда я тоже хочу прокинуть логгер, потому что процесс создания пользователя может быть дофига сложным и я там тоже что-то хочу логгировать понимая, в каком именно запросе, с какими параметрами, всё это произошло.
Самый прямой путь решить 2 - это
const newUser = UserModel.createUser(req.body, __id);
A
Вот
Vint
Vint
Ко второму пакету написан хороший дисклеймер, стоит почитать и проникнуться. Или нет)
A
Anonymous
блэт а курсы с itvdn можно как нить сохранить? или сливы есть у кого нибудь?
Anonymous
до 11 числа врядли успею
Vladyslav
Vladislav
там до 14 вроде
Anonymous
у меня до 11
Nikita
Там реализацию JWT от циски сломали, видели?
Vitaly
Nikita
https://www.npmjs.com/package/node-jose
Nikita
Бага в том, что оно слепо доверяет самоподписанным JWT (это если коротко).
Nikita
0.11.0 пофикшен, новая версия обратно несовместима со старой, так что сама обновлением не прилетит.
Nikita
(я уже говорил, что JWT — кусок говна?)
Nikita
Самоподписанные — не в смысле none, а те, у которых публичный ключ в хедере.
Nikita
Линка: https://twitter.com/FiloSottile/status/949237064998047744
Anonymous
jwt не нужен
Anonymous
причем в обеих расшифровках аббривиатуры
Rafael 🌵
есть же https://github.com/paragonie/past
Nikita
paragonie кстати молодец, посмотрю-ка что там.
Rafael 🌵
правда я его еще не использовал
Cenator 🐈
Rafael 🌵
и вроде имплементация только для пхп есть
Nikita
Nikita
Nikita
Емнип он в пхп рнг починил.
Anonymous
што
Cenator 🐈
Хех, ну тут очевидно
Nikita
Посмотрел на PAST. Там нету адских говен как в JWT, но нужности это ему не прибавляет, кмк.
Nikita
Кстати
Nikita
https://twitter.com/WayneVaughan/status/949116358356172800
Rafael 🌵
Nikita
Оттуда же: https://twitter.com/dshaw/status/949117187670724608
Anonymous
И как тебе?
я не понимаю как они платформ-агностик с реализацией только на похапе. как-то так
Anonymous
дальше не читал
Rafael 🌵
у них же есть документ с описанием работы протокола
Rafael 🌵
https://github.com/paragonie/past/tree/master/docs