Я пытаюсь «соединить» два вай Application
вместе. По сути, первое приложение будет предоставлять либо ответ 404 Not found, либо ответ, не являющийся ответом 404 Not found. Я хотел бы добавить второе приложение, которое попытается обработать запрос, если присутствует первый случай (первое приложение возвращает 404).
Однако, глядя на тип Application
:
type Application = Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
Не понятно, как проверить ответ? Как бы я не получил ResponseRecived
в качестве конечного результата, который, похоже, не содержит никакого кода ответа. Как показано ниже:
xyzMiddle :: (Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived) ->
(Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived)
xyzMiddle app req respond = do
zzz <- (app req respond)
pure zzz
Как я мог реализовать это? И или, что я не понимаю в вышеизложенном?