on master help sign in
remove eventsource warnings
commit2ba7c5f4eae39267ad3be4620ea75e8214e94fc3 authorGreg Weber <greg@gregweber.info> dateWed 5 Oct 2011, 19:24 (15 years ago) parent86f0d98
4 files changed+12−13
scripts+1−1 wai-eventsource/eventsource-wai.cabal+2−2 wai-eventsource/src/EventStream.hs+6−6 wai-eventsource/src/Main.hs+3−4
scripts+1−1

Submodule changed.

wai-eventsource/eventsource-wai.cabal+2−2
@@ -27,8 +27,8 @@ Executable eventsource-wai
2727 warp >= 0.4
2828
2929 if impl(ghc >= 6.12.0)
30− ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields -O2
30+ ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields
3131 -fno-warn-unused-do-bind
3232 else
33− ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields -O2
33+ ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields
3434
wai-eventsource/src/EventStream.hs+6−6
@@ -11,11 +11,7 @@ module EventStream (
1111
1212import Blaze.ByteString.Builder
1313import Blaze.ByteString.Builder.Char8
14−import Control.Monad.Trans
15−import Control.Concurrent
1614import Data.Monoid
17−import Data.Enumerator hiding (map)
18−import Data.Enumerator.List (generateM)
1915
2016{-|
2117 Type representing a communication over an event stream. This can be an
@@ -40,12 +36,14 @@ data ServerEvent
4036{-|
4137 Newline as a Builder.
4238-}
39+nl :: Builder
4340nl = fromChar '\n'
4441
4542
4643{-|
4744 Field names as Builder
4845-}
46+nameField, idField, dataField, retryField, commentField :: Builder
4947nameField = fromString "event:"
5048idField = fromString "id:"
5149dataField = fromString "data:"
@@ -56,12 +54,14 @@ commentField = fromChar ':'
5654{-|
5755 Wraps the text as a labeled field of an event stream.
5856-}
57+field :: Builder -> Builder -> Builder
5958field l b = l `mappend` b `mappend` nl
6059
6160
6261{-|
6362 Appends a buffer flush to the end of a Builder.
6463-}
64+flushAfter :: Builder -> Builder
6565flushAfter b = b `mappend` flush
6666
6767
@@ -77,6 +77,6 @@ eventToBuilder (ServerEvent n i d)= Just $ flushAfter $
7777 (name n $ evid i $ mconcat (map (field dataField) d)) `mappend` nl
7878 where
7979 name Nothing = id
80− name (Just n) = mappend (field nameField n)
80+ name (Just n') = mappend (field nameField n')
8181 evid Nothing = id
82− evid (Just i) = mappend (field idField i)
82+ evid (Just i') = mappend (field idField i')
wai-eventsource/src/Main.hs+3−4
@@ -8,11 +8,9 @@ import Control.Concurrent.Chan
88import Network.Wai.Handler.Warp (run)
99import Network.Wai
1010import Network.HTTP.Types (statusOK)
11−import Data.Enumerator (Iteratee, Step(Continue), Stream(Chunks,EOF), returnI, run_, (>>==), ($$), generateM)
11+import Data.Enumerator (run_, ($$))
12+import Data.Enumerator.List (generateM)
1213import Data.Time.Clock.POSIX
13−import Data.ByteString (ByteString)
14−import qualified Data.ByteString as B
15−import Blaze.ByteString.Builder (fromByteString)
1614import Blaze.ByteString.Builder.Char.Utf8 (fromString)
1715
1816import EventStream
@@ -25,6 +23,7 @@ app chan req =
2523 ["es"] -> do
2624 chan' <- liftIO $ dupChan chan
2725 return $ res chan'
26+ _ -> error "unexpected pathInfo"
2827
2928
3029res :: Chan ServerEvent -> Response