2016-09-17 1 views
1

Для отладки, я хотел бы видеть необработанные тела запроса, которые отправляются в мое приложение-яд.Как увидеть необработанный корпус запроса в Yesod?

Я знаю, как использовать runRequestBodyhttps://www.stackage.org/haddock/lts-7.0/yesod-core-1.4.24/Yesod-Core-Handler.html#v:runRequestBody

Теперь есть rawRequestBody. Я использую

rawRequestBody Data.Conduit.$$ Data.Conduit.List.consume 

внутри defaultLayout, но результат всегда пуст.

Фактическое представление представляет собой трубу, поэтому я подозреваю, что она уже истощена в этой точке. Затем, когда я получу, чтобы увидеть это в состоянии, где он хранит данные? Предположим, что это возможно, тогда как я могу прочитать его, не удаляя его содержимое?

+0

Столкнулись что-нибудь перед вызовом 'rawRequestBody', который, возможно, под названием' runRequestBody' или подобное? Любая обработка POST-форм может это сделать. –

+0

Да, это в обработчике POST. – d8d0d65b3f7cf42

ответ

0

Попробуйте

import qualified Data.Conduit.Text as CT 
import qualified Data.Conduit.List as CL 

rawRequestBody $$ CT.decode CT.utf8 =$ CL.consume 
Смежные вопросы