HTTP-3000.0.0ContentsIndex
Network.Stream
Portabilitynon-portable (not tested)
Stabilityexperimental
Maintainerbjorn@bringert.net
Contents
Streams
Errors
Description

An library for creating abstract streams. Originally part of Grayss HTTP module.

  • Changes by Simon Foster: - Split module up into to sepearate Network.[Stream,TCP,HTTP] modules
Synopsis
data Debug x
class Stream x where
readLine :: x -> IO (Result String)
readBlock :: x -> Int -> IO (Result String)
writeBlock :: x -> String -> IO (Result ())
close :: x -> IO ()
debugStream :: Stream a => String -> a -> IO (Debug a)
data ConnError
= ErrorReset
| ErrorClosed
| ErrorParse String
| ErrorMisc String
type Result a = Either ConnError a
handleSocketError :: Socket -> Exception -> IO (Result a)
bindE :: Either ConnError a -> (a -> Either ConnError b) -> Either ConnError b
myrecv :: Socket -> Int -> IO String
Streams
data Debug x
Allows stream logging. Refer to debugStream below.
show/hide Instances
class Stream x where

Streams should make layering of TLS protocol easier in future, they allow readingwriting to files etc for debugging, they allow use of protocols other than TCPIP and they allow customisation.

Instances of this class should not trim the input in any way, e.g. leave LF on line endings etc. Unless that is exactly the behaviour you want from your twisted instances ;)

Methods
readLine :: x -> IO (Result String)
readBlock :: x -> Int -> IO (Result String)
writeBlock :: x -> String -> IO (Result ())
close :: x -> IO ()
show/hide Instances
debugStream :: Stream a => String -> a -> IO (Debug a)
Wraps a stream with logging I/O, the first argument is a filename which is opened in AppendMode.
Errors
data ConnError
Constructors
ErrorReset
ErrorClosed
ErrorParse String
ErrorMisc String
show/hide Instances
type Result a = Either ConnError a
This is the type returned by many exported network functions.
handleSocketError :: Socket -> Exception -> IO (Result a)
bindE :: Either ConnError a -> (a -> Either ConnError b) -> Either ConnError b
myrecv :: Socket -> Int -> IO String
Produced by Haddock version 0.8