import Control.Applicative import Data.Aeson import Data.ByteString import System.IO.Streams import System.IO.Streams.Attoparsec (parseFromStream) parseJSONFromStream :: FromJSON a => InputStream ByteString -> IO a parseJSONFromStream = parseJSON <$> parseFromStream json'
receiveResponse con (\_ i -> parseFromStream json i))
This seems to work but without the benefit of being marshalled into my type.
receiveResponse con (fmap parseJSON . parseFromStream json)