module Network.NNTP.Common
(
xhdr
)
where
import Control.Applicative hiding (empty)
import Control.Monad.Trans
import Data.ByteString.Lazy.Char8(empty)
import Network.NNTP.Internal
import Network.NNTP.Internal.Article
import Network.NNTP.ParserHelpers
import Text.Parsec hiding (many)
xhdr :: Monad m => (Article -> m a) -> NntpT m [a]
xhdr f = nntpSendCommand "XHDR Message-ID 0-" empty [
(211, many (integer *> many1 space *> iD <* line >>=
(\i -> lift $ lift $ f $ Article i Nothing Nothing))),
(412, error "No news group selected")]