Kons
При чем тут js-ники? ) Это принцип работы сессий. И он не меняется от того, используешь ты JS, PHP или Python.
V
Надо разобраться как сессии работают вообще
V
сначала
Alexey
Я вот к этому и вел. Но, (вроде?) понимание есть?..
V
Видимо нет, тогда бы и вопроса не было
Alexey
Кажись там express-session себя подозрительно ведет
Alexey
Хотя, там лицом по клаве катаешься и само работает
ALEX
Кто настраивал модуль nconf в части шифрования значения ключа? nconf.file('secure-file', { file: 'path/to/secure-file.json', secure: { secret: 'super-secretzzz-keyzz', alg: 'aes-256-ctr' } }) выдает ошибку Error: Error parsing your configuration file: [/home/ubuntu/test/config/secure-config.json]: Unexpected token T in JSON at position 0 если убрать secure: ... то работает, но данные то не расшифровывает
ixplo
что там у тебя в json?
ixplo
на букву T )
ALEX
что там у тебя в json?
обычный файл json utf8 символ на который ссылается это скобка открывающая файл {
ALEX
скинь гистом свой конфиг
nconf.file('secure-config', { file: path.join( __dirname, 'secure-config.json'), secure: { secret: '***', alg: 'aes-256-ctr' } }); //secure-config.json { "test-secure-config": { "alg": "aes-256-ctr", "value": "531f7fdd55cb9f5308f745213937d6858f2de9db6e16dc0f" } }
A
господа, кто юзает mongoose и bluebird?
A
почему-то в данном коде, срабатывает только первый console.log('1') const signup = async (ctx, next) => { const credentials = ctx.request.body; let user; try { console.log('1'); user = await User.create(credentials); console.log(user); return user; } catch (e) { return next(e); } }
A
в самой модели юзер создаётся, но в контроллер не возвращается
Aleksand
в самой модели юзер создаётся, но в контроллер не возвращается
ну если у тебя не срабатывает console.log(user);, то очевидно что надо посмотреть e
A
в сatch тоже ничего
Aleksand
в сatch тоже ничего
это что у тебя try не доработал и в catch ты не попал? неплохо так
A
console.log(User.create()) возвращает: Promise { _bitField: 0, _fulfillmentHandler0: undefined, _rejectionHandler0: undefined, _promise0: undefined, _receiver0: undefined }
A
похоже что-то с промисами
vitshev
next там не надо вызвать?
vitshev
async работает с bluebird?
cloudedbe
работает
Aleksand
async работает с bluebird?
как и с любыми промизами
A
промисы подключены стандратно mongoose.Promise = bluebird;
Aleksand
ну как есть
так не бывает
Aleksand
> console.log(user); если у тебя не отрабатывает это, то значит ты улетаешь в catch, и там в переменной e чет про это могут написать
A
говорю же
A
не заходит он в catch
A
} catch (e) { console.log('2'); console.log(e); return next(e); }
A
и в постмане не выводит ошибку, пишет "Loading..."
A
будто запрос выполняется
Aleksand
будто запрос выполняется
ну значит у тебя с await не вернулось ничего еще
ixplo
мб промис не резолвится и не реджектится
Aleksand
не зарезолвился промиз
ixplo
д
A
кажется, я нашёл в чем косяк
A
mongoose.connect(config.db, { useMongoClient: true }, (err) => {
A
{ useMongoClient: true } - вот эта бяка мутила воду
A
спасибо всем
A
в версии >= 4.11 монгуза задеприкейтили некоторые функции
A
похоже это даже баг в монгузе
A
советуют писать {useMongoClient: true}) Mongoose.connect(myConnectionString, {useMongoClient: true}); но тогда промисы не исполняются
Алексей
Алексей Коршунов: Итак))) опять я. Подскажи как лучше. Есть модуль jira-connector. В котором есть метод addAttachment, в котором есть var attachments = opts.filename.map (function (filename) {return fs.createReadStream(filename)}); Есть почта, в которой есть вложение = file.Base64Content Не хотелось бы постоянно гонять файл на диск и удалять его. отсюда вывод вместо fs.createReadStream(filename) нужно сделать что-то типа new Buffer( file.Base64Content,'base64') Или есть другой вариант??? что-то сыкотно (боюсь скилов не хватит). Извиняюсь за дублеж
Alexey
Так а в чем проблема гонять по диску?
Aleksand
Так а в чем проблема гонять по диску?
никакой, кроме бесполезности и оверхеда и конечном счете скорости
Alexey
Так вопрос еще количественный. Если есть боязнь в скиле и это останавливает, то скорее всего можно просто забить
Lev
забить на что? на обучение?
Alexey
забить на что? на обучение?
Ну а чего еще делать с такими мыслями
ALEX
По твоему это гист?
А так не понятно?
доня.
Nurik
А так не понятно?
Мне кажется дело не в этом. Дело в том, что Вы просто из чувства вежливости хотя бы могли залить туда, так как это Вам нужен ответ на Ваш вопрос.
GG
А так не понятно?
На гисте подсветка синтаксиса, и нормальные переносы, можно бегло прочитать код, здесь же приходится тратить больше времени на понимания написанного
Yaroslav 🇺🇦
Народ, а есть граничение в коа на ctx.body? Суть проблемы скрип формирует довольно таки большой документ. И упираюсь в ограничение, определенный объем выводит нормально, как только добавляю хоть один блок <div></div> прилетает ошибка 404
KlonD90
norm?
Gleb
У меня на 8.1 уже давно живёт, полёт нормальный.
arts
А спреды? Флагом?
ill-ya
Еще бы спреды объектов
A
может кто сталкивался, bcrypt.compare всегда возращает undefined
ixplo
а чочо спреды объектов должны завезти? ) такое бывает? )
A
UserSchema.methods.comparePasswords = function comparePasswords(password) { return bcrypt.compare(password, this.password); };
ixplo
юзай или колбек третьим параметром
ixplo
я в душе не знаю чо это, но документация на в первом примере именно так говорит )
A
понятно, что написано. но не работает
A
никак не получается cделать comparePasswords через try/catch . только через if-else export const signin = async (ctx) => { const { login, password } = ctx.request.body; const user = await User.findOne({ login }); if (!user) { ctx.throw(400, 'User not found') } const matches = await user.comparePasswords(password); if (matches) { ctx.body = user; } else { ctx.throw(400, 'Bad credentials') } }
Алексей
а что ты в итоге хочешь получить? задача какая?
Задача проста))) нужно из писем почтового ящика формировать issue в jira, или комментарии. Если есть аттачи, то прикрепить их к тикету.