Size: a a a

2020 May 15

λ

λоλторт in Haskell
у меня обработка запроса в своей монаде, условной ApiM
источник

A

Andrey in Haskell
ну а в контекст добавить LogEnv можешь?
источник

λ

λоλторт in Haskell
newtype ApiM a = ApiM { ApiCtx -> IO a }
источник

A

Andrey in Haskell
снаружи
источник

λ

λоλторт in Haskell
в контекст который в servant-server?
источник

A

Andrey in Haskell
в твой
источник

λ

λоλторт in Haskell
ну он у меня там считай и лежит
источник

AV

Alexander Vershilov in Haskell
В общем у меня используются 2 штуки, я пишу

handler context' = FooApi 
  { _subAp = toServant (handleSub context)
  , _foo = fooImpl (addNamespace "foo" context)
  }
  context= addNamespace "foo" context'
источник

AV

Alexander Vershilov in Haskell
Ещё есть в middleware создание context куда я пихаю технические данные типа UA, IP
источник

MK

Maxim Koltsov in Haskell
Говорю же сложный
источник

AV

Alexander Vershilov in Haskell
Тут проблема, что хендлеры композятся чисто, нельзя сделать addContext "foo" >> handleRest
источник

AV

Alexander Vershilov in Haskell
Зато можно наверное автоматом заполнить контекст полностью
источник

AV

Alexander Vershilov in Haskell
Кажется у меня появилась задачка на выходные!
источник

λ

λоλторт in Haskell
Alexander Vershilov
Ещё есть в middleware создание context куда я пихаю технические данные типа UA, IP
type Middleware = Application -> Application ?
источник

AV

Alexander Vershilov in Haskell
Да
источник

λ

λоλторт in Haskell
Alexander Vershilov
В общем у меня используются 2 штуки, я пишу

handler context' = FooApi 
  { _subAp = toServant (handleSub context)
  , _foo = fooImpl (addNamespace "foo" context)
  }
  context= addNamespace "foo" context'
Я не совсем понял, что тут происходит. addNamespace это katipAddNamespace? FooApi это рекорд с хендлерами конкретных методов?
источник

λ

λоλторт in Haskell
а как и куда там можно контекст просунуть?
источник

AV

Alexander Vershilov in Haskell
λоλторт
Я не совсем понял, что тут происходит. addNamespace это katipAddNamespace? FooApi это рекорд с хендлерами конкретных методов?
Да раньше обёртка над ним была
источник

AV

Alexander Vershilov in Haskell
Т.е. я не сразу работаю в ApiM, а запускаю его уже внутри хендлера
источник

AV

Alexander Vershilov in Haskell
У меня вообще раньше IO вместо ApiM было
источник