packages feed

hack2-contrib 2011.6.19 → 2011.6.20

raw patch · 15 files changed

+49/−39 lines, 15 filesdep ~hack2PVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hack2

API changes (from Hackage documentation)

+ Hack2.Contrib.Utils: l2s :: ByteString -> ByteString
+ Hack2.Contrib.Utils: s2l :: ByteString -> ByteString

Files

hack2-contrib.cabal view
@@ -1,5 +1,5 @@ Name:                 hack2-contrib-Version:              2011.6.19+Version:              2011.6.20 Build-type:           Simple Synopsis:             Hack2 contrib Description:          Common middlewares and utilities that helps working with Hack2@@ -29,7 +29,7 @@                   , data-default >= 0.2                   , time                   , air >= 2011.6.19-                  , hack2 >= 2011.6.19+                  , hack2 >= 2011.6.20                   , utf8-string                   -- , ansi-wl-pprint                   , regexpr
src/Hack2/Contrib/Constants.hs view
@@ -6,7 +6,7 @@ import Air.Light import Prelude hiding ((.)) import Data.Map-import Data.ByteString.Lazy.Char8 (ByteString)+import Data.ByteString.Char8 (ByteString)  status_with_no_entity_body :: [Int] status_with_no_entity_body = [100 .. 199] ++ [204, 304]
src/Hack2/Contrib/Middleware/ContentType.hs view
@@ -8,7 +8,7 @@ import Hack2.Contrib.Response import Air.Light import Prelude hiding ((.), (^), (>), (-))-import Data.ByteString.Lazy.Char8 (ByteString)+import Data.ByteString.Char8 (ByteString)   content_type :: ByteString -> Middleware
src/Hack2/Contrib/Middleware/File.hs view
@@ -19,8 +19,9 @@ import Prelude () import System.Directory import System.FilePath-import qualified Data.ByteString.Lazy.Char8 as B-import Data.ByteString.Lazy.Char8 (ByteString)+import qualified Data.ByteString.Char8 as B+import qualified Data.ByteString.Lazy.Char8 as Lazy+import Data.ByteString.Char8 (ByteString)  file :: Maybe ByteString -> Middleware file root _ = \env -> do@@ -50,7 +51,7 @@          where        serving path = do-        content <- path.B.readFile+        content <- path.Lazy.readFile         size <- path.b2u.file_size ^ from_i         mtime_str <- path.b2u.file_mtime ^ httpdate         @@ -71,27 +72,27 @@   def     .set_status 404     .set_content_type _TextPlain-    .set_content_length (msg.B.length)+    .set_content_length (msg.Lazy.length)     .set_body_bytestring msg -  where msg = "No permission: " + path + "\n"+  where msg = "No permission: " + s2l path + "\n"  not_found :: ByteString -> IO Response not_found path = return $   def     .set_status 404     .set_content_type _TextPlain-    .set_content_length (msg.B.length)+    .set_content_length (msg.Lazy.length)     .set_body_bytestring msg   -  where msg = "File not found: " + path + "\n"+  where msg = "File not found: " + s2l path + "\n"  forbidden :: IO Response forbidden = return -    def     .set_status 403     .set_content_type _TextPlain-    .set_content_length (msg.B.length)+    .set_content_length (msg.Lazy.length)     .set_body_bytestring msg    where msg = "Forbidden\n"
src/Hack2/Contrib/Middleware/Head.hs view
@@ -6,7 +6,7 @@  import Air.Env hiding (def, head) import Prelude ()-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Char8 as B import Data.Default (def)  head :: Middleware
src/Hack2/Contrib/Middleware/RegexpRouter.hs view
@@ -10,7 +10,7 @@ import List (find) import Air import Prelude hiding ((.), (^), (>), (-))-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Char8 as B  type RoutePath = (String, Application) 
src/Hack2/Contrib/Middleware/SimpleAccessLogger.hs view
@@ -12,7 +12,7 @@ import Air.Env hiding (Default, def) import Data.Maybe import Prelude ()-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Char8 as B import System.IO import Control.Concurrent 
src/Hack2/Contrib/Middleware/Static.hs view
@@ -15,8 +15,8 @@ import List (find, isPrefixOf) import Air.Light import Prelude hiding ((.), (^), (>), (+))-import qualified Data.ByteString.Lazy.Char8 as B-import Data.ByteString.Lazy.Char8 (ByteString)+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)  static :: Maybe ByteString -> [ByteString] -> Middleware static root urls app = \env -> do
src/Hack2/Contrib/Middleware/URLMap.hs view
@@ -17,7 +17,7 @@ import List (find, isPrefixOf) import Air.Env hiding (Default, def) import Prelude ()-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Char8 as B   type RoutePath = (B.ByteString, Application)
src/Hack2/Contrib/Middleware/UserMime.hs view
@@ -8,8 +8,8 @@ import Hack2.Contrib.Utils import Air.Light import Prelude hiding ((.), (-))-import qualified Data.ByteString.Lazy.Char8 as B-import Data.ByteString.Lazy.Char8 (ByteString)+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)  user_mime :: [(ByteString, ByteString)] -> Middleware user_mime h app env = do
src/Hack2/Contrib/Middleware/XForwardedForToRemoteHost.hs view
@@ -5,7 +5,7 @@ import Hack2 import Air.Env hiding (Default, def) import Prelude ()-import Data.ByteString.Lazy.Char8 ()+import Data.ByteString.Char8 ()  x_forwarded_for_to_remote_host :: Middleware x_forwarded_for_to_remote_host app = \env ->
src/Hack2/Contrib/Mime.hs view
@@ -6,7 +6,7 @@ import Air.Light import Prelude hiding ((.)) import qualified Data.Map as M-import Data.ByteString.Lazy.Char8 (ByteString)+import Data.ByteString.Char8 (ByteString)  lookup_mime_type :: ByteString -> Maybe ByteString lookup_mime_type = flip M.lookup mime_types
src/Hack2/Contrib/Request.hs view
@@ -3,7 +3,7 @@  module Hack2.Contrib.Request where -import Data.ByteString.Lazy.Char8 (ByteString)+import Data.ByteString.Char8 (ByteString) import Data.Maybe import Hack2 hiding (body) import Hack2.Contrib.Constants@@ -12,11 +12,12 @@ import Network.CGI.Cookie import Network.CGI.Protocol import Prelude ()-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Char8 as B+import qualified Data.ByteString.Lazy.Char8 as Lazy import Hack2.Contrib.AirBackports  -input_bytestring :: Env -> IO ByteString+input_bytestring :: Env -> IO Lazy.ByteString input_bytestring = hack_input > unHackEnumerator > fromEnumerator  scheme :: Env -> ByteString@@ -80,9 +81,9 @@          where     to_headers (k, input) = case input.inputFilename of-      Nothing -> [(k.B.pack, input.inputValue)]+      Nothing -> [(k.B.pack, input.inputValue.l2s)]       Just name -> -        [  (k.B.pack, input.inputValue)+        [  (k.B.pack, input.inputValue.l2s)         ,  ("hack2_input_file_name_" + k.B.pack, name.B.pack)         ] 
src/Hack2/Contrib/Response.hs view
@@ -3,20 +3,20 @@  module Hack2.Contrib.Response where -import Data.ByteString.Lazy.Char8 (ByteString)+import Data.ByteString.Char8 (ByteString) import Data.Maybe import Hack2 import Hack2.Contrib.Constants import Hack2.Contrib.Utils import Air.Env hiding (def) import Prelude ()-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Lazy.Char8 as Lazy import Hack2.Contrib.AirBackports import Data.Default (def) import Data.Enumerator (run_, enumList, Enumerator, ($$)) import qualified Data.ByteString.Char8 as Strict -body_bytestring :: Response -> IO B.ByteString+body_bytestring :: Response -> IO Lazy.ByteString body_bytestring r = r.body.unHackEnumerator.fromEnumerator  redirect :: ByteString -> Maybe Int -> Response -> Response@@ -53,7 +53,7 @@ set_body :: HackEnumerator -> Response -> Response set_body s r = r { body = s } -set_body_bytestring :: B.ByteString -> Response -> Response+set_body_bytestring :: Lazy.ByteString -> Response -> Response set_body_bytestring b r =    let enum = b.toEnumerator :: (forall a. Enumerator Strict.ByteString IO a)   in
src/Hack2/Contrib/Utils.hs view
@@ -4,7 +4,7 @@ module Hack2.Contrib.Utils where  import Control.Arrow ((<<<))-import Data.ByteString.Lazy.Char8 (ByteString)+import Data.ByteString.Char8 (ByteString) import Data.Default import Data.List (lookup) import Data.Time@@ -15,7 +15,8 @@ import Network.URI hiding (path) import Prelude () import System.Locale (defaultTimeLocale)-import qualified Data.ByteString.Lazy.Char8 as B+import qualified Data.ByteString.Char8 as B+import qualified Data.ByteString.Lazy.Char8 as Lazy import qualified Data.Map as M import Hack2.Contrib.AirBackports @@ -26,17 +27,24 @@  import Data.Enumerator (run_, enumList, Enumerator, ($$)) -fromEnumerator :: Monad m => Enumerator Strict.ByteString m B.ByteString -> m B.ByteString+fromEnumerator :: Monad m => Enumerator Strict.ByteString m Lazy.ByteString -> m Lazy.ByteString fromEnumerator m = run_ - m $$ EB.consume -toEnumerator :: Monad m => B.ByteString -> Enumerator Strict.ByteString m a-toEnumerator = enumList 1 < B.toChunks+toEnumerator :: Monad m => Lazy.ByteString -> Enumerator Strict.ByteString m a+toEnumerator = enumList 1 < Lazy.toChunks -withEnumerator :: Monad m => (B.ByteString -> B.ByteString) -> Enumerator Strict.ByteString m B.ByteString -> m (Enumerator Strict.ByteString m a)+withEnumerator :: Monad m => (Lazy.ByteString -> Lazy.ByteString) -> Enumerator Strict.ByteString m Lazy.ByteString -> m (Enumerator Strict.ByteString m a) withEnumerator f enum = do   bytes <- fromEnumerator enum   return - toEnumerator - f bytes +l2s :: Lazy.ByteString -> Strict.ByteString+l2s = Strict.concat < Lazy.toChunks++s2l :: Strict.ByteString -> Lazy.ByteString+s2l = Lazy.fromChunks < return++ empty_app :: Application empty_app = return def @@ -52,8 +60,8 @@ get :: (Eq a) => a -> [(a, b)] -> Maybe b get = lookup -bytesize :: ByteString -> Int-bytesize = B.length > from_i+bytesize :: Lazy.ByteString -> Int+bytesize = Lazy.length > from_i  show_bytestring :: (Show a) => a -> ByteString show_bytestring = show > B.pack