I'm trying to use network-conduit as a backend for (patched) HaskellNet's IMAP. One of the required operations is to detect if the stream is open. Currently I'm using

isOpen :: (Monad m) => ConduitM i o m Bool
isOpen = await >>= maybe (return False) ((True <$) . leftover)

Is this correct, or is there a better way?

有帮助吗?

解决方案

That's correct, the only possible improvement is you could use the peek helper function, but what you have here is fine.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top