
Alexey
15.09.2018
08:36:54
Чекните код плиз. Что можно упростить или улучшить? Суть вызов внешнего API в ответ на запрост с фронта

Google

Alexander
15.09.2018
08:40:04
А зачем ты делаешь get error_message с дефолтным значением? У тебя же всегда будет возвращаться ошибка

Alexey
15.09.2018
08:42:06
логично.. Почему только не отловилось это. Убрал

Интернет Магазин
15.09.2018
08:44:26
Добрый день, ребят у меня к вам вопрос.

Alexey
15.09.2018
08:44:32
еще вопрос.. после успешнего получения данных, нужна еще логика .. вот ее лучше вообще после блока try catch ну и туда же return res.json() ? или как сейчас внутри блока try

Интернет Магазин
15.09.2018
08:45:22
Короче есть у меня openserver поставил mongodb сейчас у меня проект работает через mlab.com. Вопрос в том как мне подключить локальную базу ?

Дмитрий
15.09.2018
08:45:26

Интернет Магазин
15.09.2018
08:45:29
Чет не могу понять как это сделать

Alexey
15.09.2018
08:46:09

Alexander
15.09.2018
08:52:27
Добавь в следующую мидлварю

Дмитрий
15.09.2018
08:53:22
finally

dvv
15.09.2018
09:39:40
А функция get что выполняет?

Alexey
15.09.2018
09:40:36

Google

Alexey
15.09.2018
09:40:59
finally
хм.. а если там далее нск запросов которые тоже надо бы в try каждый..
мне кажеться логично или внутри того же try или просто несколько try catch один за другим... но во втором случае с присванием чуть сложнее.

dvv
15.09.2018
09:43:13
Error message лучше обрабатывать тогда выбросом исключения, которое поймает catch

Alexey
15.09.2018
09:43:42

dvv
15.09.2018
09:44:03
Если используете try catch унифицируйте выброс и обработку ошибок

Alexey
15.09.2018
09:44:33

dvv
15.09.2018
09:45:04
Классифицируйте ошибки по классам

Alexander
15.09.2018
09:45:16
шо за createError ?
шо за пакет

dvv
15.09.2018
09:45:19
И обрабатывайте в зависимости от класса ошибки

Alexander
15.09.2018
09:45:25
А ещё можешь в try catch только await обернуть

Alexey
15.09.2018
09:45:47

dvv
15.09.2018
09:45:54

Alexey
15.09.2018
09:46:03

Alexander
15.09.2018
09:46:07

Alexey
15.09.2018
09:46:18

Alexander
15.09.2018
09:46:23
thx

dvv
15.09.2018
09:46:50

Alexey
15.09.2018
09:47:11
а ловлю потом глобально так:
app.use(function(err, req, res, next) {
const error_status = err.status || 500
logger.error(${error_status} - ${err.message} - ${req.originalUrl} - ${req.method} - ${req.ip})
res.status(error_status).send(process.env.NODE_ENV == "development" ? err.message : "Server error.")
})

Google

Alexander
15.09.2018
09:48:46
thx x2

Alexey
15.09.2018
09:49:52
Короче вижу ничего существенно улучшить не удасться.. скоро допишу этот контроллер и покажу..
это уже весь контроллер

dvv
15.09.2018
09:54:40
Залепуха, что тут улучшишь. Подрастёт код строк на 300, тогда и отрефакторите исходя из возникшего понимания архитектурного строения приложения. Тогда и try catch, как необходимо использовать придёт понимание и другие абстракции встанут на нужное место

Alexander
15.09.2018
09:55:08
да он уже месяца 2 этот токен декодер пилит

Alexey
15.09.2018
09:55:20
но вообще если время есть почему не попилить... ну сейчас то более менее?

dvv
15.09.2018
09:56:11
Рефрешите JWT каждый запрос?

Alexey
15.09.2018
09:56:35
что значит каждый запрос?
рефрешу когда token протухает..

dvv
15.09.2018
09:57:34
У вас в JWT получается access и refresh? Два токена

Alexey
15.09.2018
09:57:42

dvv
15.09.2018
09:57:51
Ну ясно... а зачем тогда вообще JWT вам?

Alexey
15.09.2018
09:58:25

Vitaliy
15.09.2018
09:59:54
https://t.me/why_jwt_is_bad

Alexey
15.09.2018
10:00:11
я все это знаю... но как быть? поручено как следует сделать с jwt

Google

Alexey
15.09.2018
10:00:27
да в БД хранить не хочеться... но надо как то блеклистить..
да можно редис.. он с win плохо дружить.. а отлаживать на win будем по любому...

dvv
15.09.2018
10:00:54
Так и использовать блеклист без лишнего нагромождения

Alexey
15.09.2018
10:00:57
ну и в redis хранить это тоже хранить на сервере..

dvv
15.09.2018
10:01:20
Не пакет а концепцию

Alexey
15.09.2018
10:01:32
https://www.npmjs.com/package/blacklist

dvv
15.09.2018
10:02:12
Редис или мемкэш все равно главное чтобы консистентные данные были и при этом нагрузка на сервер была минимальная

Alexey
15.09.2018
10:02:13
короче говоря. Писать token + user в БД считаете костыль?

dvv
15.09.2018
10:03:00
Ну нам нужно сохранить более менее stateless у JWT но при этом иметь функционал отзыва токена
Без блеклиста кто это сделает, я обниму того чувачка
Но тут можно обойтись и без пары рефреш аццесс

Alexey
15.09.2018
10:04:25

Sars
15.09.2018
10:06:08
Добрый день. Кто нибудь может подсказать как построить клиентские запросы с помощью swagger.json описания?

dvv
15.09.2018
10:07:36
Но нужно чтобы данные были консистенты, если сервер упадёт то блеклист не должен потеряться

Alexey
15.09.2018
10:08:18

dvv
15.09.2018
10:09:36
Возможно, я писал свою обертку над монгой, кэш по сути это объект в памяти

Google

dvv
15.09.2018
10:09:46
Да ничем не плох, может даже хорош

Alexey
15.09.2018
10:10:03
а кстати все способы на win поставить redis это бее?

dvv
15.09.2018
10:10:46
Но если учитесь что то делать, то необходимо понимание процессов которые осуществляются выбранными пакетами, а для этого сперва через свои шишки пройти надо )))

Eugene
15.09.2018
10:10:59
?

Alexey
15.09.2018
10:11:26
Я же вроде сделал уже сам и с хранением в mongo. Теперь можно попробовать и готовый пакет..

dvv
15.09.2018
10:11:50
Ну если знаете что ожидать от функциональности пакета, то попробуйте

Eugene
15.09.2018
10:11:54
А вам точно нужен jwt?:)

Alexey
15.09.2018
10:12:05

dvv
15.09.2018
10:12:10
Да куда уж без него ))

Eugene
15.09.2018
10:12:26
Вы помойму изобрели обычные токены :)

Alexey
15.09.2018
10:12:27

dvv
15.09.2018
10:12:35
Не видел, passport.js прикрутили?