Size: a a a

2020 May 10

YS

Yan Shkurinskiy in Haskell
в консоль
источник

A

Andrey in Haskell
а как читаешь текст?
источник

YS

Yan Shkurinskiy in Haskell
там сложно) он приходит как lazy bytestring из тела, потом его в строгий байтстринг, потом в текст перегоняю
источник

A

Andrey in Haskell
на чистом wai пишешь?
источник

YS

Yan Shkurinskiy in Haskell
У меня два аппликейшена, один чистый ваи (там аутентификация), и второй - сервант (после аппки с ваи, когда тебе выдан токен, дальше уже идёшь по серванту)
источник

A

Andrey in Haskell
эта задача решается кем: ваи или сервантом?
источник

YS

Yan Shkurinskiy in Haskell
ваи
источник

A

Andrey in Haskell
покажи, как читаешь тело?
источник

YS

Yan Shkurinskiy in Haskell
     reqBody <- strictRequestBody req
     let maybeAuthLogin = decodeStrict $ toStrict reqBody
     case maybeAuthLogin of
       Nothing ->
         respond $ responseBadRequest $
           makeJsonApiErrorB "can't parse username and password"
       Just AuthLogin {..} -> do ...
источник

YS

Yan Shkurinskiy in Haskell
data AuthLogin
 = AuthLogin
     { authUsername :: Text,
       authPassword :: Text,
       authRole :: Text
     }
 deriving (Eq, Show, Read, Generic)
источник

A

Andrey in Haskell
runTLS может влиять, наверное, я не пробовал так делать, надо изучить вопрос.

вообще, думаю, публичную часть апишки с генерацией токена можно сделать и сервантом
источник

A

Andrey in Haskell
strictRequestBody что в себе содержит?
источник

YS

Yan Shkurinskiy in Haskell
В общем, когда я не нахожу юзера в базе, и хотел написать в консоль, что такой юзер на найден, что (который authUsername), то вот там и валилось
источник

A

Andrey in Haskell
попробуй eitherDecode и выведи, что в ошибке приходит
источник

YS

Yan Shkurinskiy in Haskell
Andrey
strictRequestBody что в себе содержит?
{"username":"test-customer", "password":"12345", "role":"customer"}

Что-то типа такого
источник

R

Roman in Haskell
Alexander Vershilov
Не знаю зачем они людям
Если тебе неважно, какой из двух инстансов выстрелит, и хочется, чтобы просто тайпчекалось
источник

AV

Alexander Vershilov in Haskell
Звучит не очень
источник

R

Roman in Haskell
Для variadic functions бывает полезно
источник

YS

Yan Shkurinskiy in Haskell
Andrey
попробуй eitherDecode и выведи, что в ошибке приходит
Декодит то нормально
источник

YS

Yan Shkurinskiy in Haskell
Он не на декодинге падает
источник