conduit

    3熱度

    3回答

    我是一名Haskell初學者,試圖圍繞導管庫包裹我的頭。 我已經試過這樣的事情,但它不會編譯: import Data.Conduit import Data.Conduit.Binary as CB import Data.ByteString.Char8 as BS numberLine :: Monad m => Conduit BS.ByteString m BS.ByteStri

    1熱度

    1回答

    我試圖從http://www.yesodweb.com/book/conduits瞭解代碼。一些修補程序(如更換Resource與MonadResource)之後,它仍然不會編譯: sumSink :: MonadResource m => Sink Int m Int sumSink = CL.fold (+) 0 sum' :: [Int] -> Int sum' input = ru

    3熱度

    1回答

    我不知道爲什麼我的代碼中斷。起初我以爲這是因爲parseURL給[]爲requestHeaders。好的,也許我只需要告訴它resquestHeaders應該是什麼。那麼,我檢查了從我的舊的工作代碼生成的requestHeaders。它也會返回[]。所以現在我沒有想法。下面是舊的工作代碼,跟着我一直在GHCi中嘗試使用基於新導管庫的東西。 captureRawJson :: IO Response

    1熱度

    1回答

    我想了解如何使用warp來編寫web服務,該warp具有我想從所有請求中訪問的長期資源(即,我希望資源存在於服務器的生命週期中,而不是每個請求)。我假設這是ResourceT的用途,但我不確定我是如何做到這一點的。 我特別使用的是我想公開一個文件句柄,我目前已經包含在狀態monad中。如果在使用warp和ResourceT時沒有意義,我很樂意改變這種方法。這段代碼的一個早期版本上可以看到代碼審查:

    3熱度

    1回答

    我使用network-conduit下面的代碼有問題,裏面的新來源: import Data.Conduit.List as CL import Data.Conduit.Text as CT import qualified Data.ByteString.Char8 as S8 import qualified Data.Text as TT mySource :: Resource

    4熱度

    1回答

    我正在努力通過xml-conduit將http-conduit的響應轉換爲XML文檔。 doPost函數獲取XML文檔並將其發佈到服務器。服務器使用XML文檔進行響應。 doPost queryDoc = do runResourceT $ do manager <- liftIO $ newManager def req <- liftIO $ parseUr

    33熱度

    2回答

    我想聽聽有人比我更深入的瞭解Enumerators,Conduits和Pipes之間的根本區別以及主要優點和缺點。一些discussion's alreadyongoing但它會很高興有一個高層次的概述。

    3熱度

    1回答

    我想寫一個真正微不足道的「回聲」web應用程序使用wai;我希望它做的就是回覆發送給它的數據(我真的不關心這個方法,但是我使用了curl,curl使用了POST,所以這就是我要做的)。我平凡的Web服務器是這樣的: import Network.Wai import Network.HTTP.Types (status200) import Network.Wai.Handler.Warp (

    9熱度

    1回答

    我有一個簡單的任務 - 從文件中讀出一堆行,並對其中的每一行執行一些操作。除了第一個 - 這是一些標題被忽略。 所以我想我會嘗試導管。 printFile src = runResourceT $ CB.sourceFile src =$= CT.decode CT.utf8 =$= CT.lines =$= CL.mapM_ putStrLn 很酷。 所以現在我只是要刪除的第一線關

    4熱度

    1回答

    我使用XML-conduit構建了一個GPX分析器,並且存在用於標識元素和跳過不需要的標記的過於冗長和易碎代碼的問題。 識別元素(一個小麻煩) 我明確地只比較nameLocalName其實忽略了命名空間。我猜正確的方法是將正確的命名空間硬編碼到程序中,並且有一個幫助器構造我的元素名稱以便在tag*函數中進行比較?這有點煩人,因爲我必須支持至少兩個不同的名稱空間(GPX 1.1和1.0),這些名稱空