File not found; если же отправляю не временный файл, то работает корретно.
Есть ли способы как-то это пофиксить (Scotty)? И почему такое поведение? Из-за ленивости?
withSystemTempDirectory "patch" $ \tempDirPath -> do
let dstFilePath = tempDirPath <> "/" <> "dst"
liftIO $ BL.writeFile dstFilePath content
S.file dstFilePath
Нет, из-за кривого control flow. S.file обрабатывается уже когда with..... завершил работу и всё почистил
А есть где-нибудь пример решения этой проблемы - как это корректно написать?
как я понял, не совсем так. Scotty.file работает сразу, но не посылает файл сразу, а только откладывает имя файла, который надо будет прочитать в конце обработчика запроса
Ну да, он "работает" сразу, и исполнение покидает блок with, удаляя файлы. Потом управление возвращается в wai, он видит там имя файла и пытается его открыть.
Обсуждают сегодня