packages feed

rest-core 0.27.1 → 0.28

raw patch · 6 files changed

+6/−59 lines, 6 filesdep +multipartPVP ok

version bump matches the API change (PVP)

Dependencies added: multipart

API changes (from Hackage documentation)

- Rest.Multipart: BodyPart :: Headers -> ByteString -> BodyPart
- Rest.Multipart: HeaderName :: String -> HeaderName
- Rest.Multipart: MultiPart :: [BodyPart] -> MultiPart
- Rest.Multipart: data BodyPart
- Rest.Multipart: data MultiPart
- Rest.Multipart: instance Eq BodyPart
- Rest.Multipart: instance Eq HeaderName
- Rest.Multipart: instance Eq MultiPart
- Rest.Multipart: instance Ord BodyPart
- Rest.Multipart: instance Ord HeaderName
- Rest.Multipart: instance Ord MultiPart
- Rest.Multipart: instance Show BodyPart
- Rest.Multipart: instance Show HeaderName
- Rest.Multipart: instance Show MultiPart
- Rest.Multipart: newtype HeaderName
- Rest.Multipart: showMultipartBody :: String -> MultiPart -> ByteString
- Rest.Dictionary.Types: data Dict h_a8sU p_a8sV i_a8sW o_a8sX e_a8sY
+ Rest.Dictionary.Types: data Dict h_a7xp p_a7xq i_a7xr o_a7xs e_a7xt

Files

rest-core.cabal view
@@ -1,5 +1,5 @@ Name:             rest-core-Version:          0.27.1+Version:          0.28 Description:      Rest API library. Synopsis:         Rest API library. Maintainer:       code@silk.co@@ -25,6 +25,7 @@     , hxt-pickle-utils          == 0.1.*     , json-schema               == 0.4.*     , mtl                       >= 2.0    &&  < 2.2+    , multipart                 >= 0.1.1  &&  < 0.2     , random                    == 1.0.*     , rest-types                == 1.9.*     , safe                      >= 0.2    &&  < 0.4@@ -49,7 +50,6 @@                     Rest.Error                     Rest.Handler                     Rest.Info-                    Rest.Multipart                     Rest.Resource                     Rest.Run                     Rest.Schema
src/Rest/Dictionary/Combinators.hs view
@@ -54,12 +54,12 @@ import Data.JSON.Schema import Data.Text.Lazy (Text) import Data.Typeable+import Network.Multipart (BodyPart) import Text.XML.HXT.Arrow.Pickle import qualified Data.Label.Total as L  import Rest.Dictionary.Types import Rest.Info-import Rest.Multipart (BodyPart)  -- | Add custom sub-dictionary for recognizing headers. 
src/Rest/Dictionary/Types.hs view
@@ -52,11 +52,11 @@ import Data.Label.Derive import Data.Text.Lazy (Text) import Data.Typeable+import Network.Multipart (BodyPart) import Text.XML.HXT.Arrow.Pickle  import Rest.Error import Rest.Info-import Rest.Multipart (BodyPart)  -- | The `Format` datatype enumerates all input and output formats we might recognize. 
src/Rest/Driver/Perform.hs view
@@ -22,6 +22,7 @@ import Data.Maybe import Data.Text.Lazy.Encoding (decodeUtf8) import Data.UUID (UUID)+import Network.Multipart (showMultipartBody, MultiPart(..), BodyPart (..)) import Safe import System.IO.Unsafe import System.Random (randomIO)@@ -39,7 +40,6 @@ import Rest.Driver.Types import Rest.Error import Rest.Handler-import Rest.Multipart (showMultipartBody, MultiPart(..), BodyPart (..)) import qualified Rest.Dictionary   as D import qualified Rest.Driver.Types as Rest 
src/Rest/Driver/Routing.hs view
@@ -25,6 +25,7 @@ import Control.Monad.Trans.Either import Control.Monad.Trans.Maybe import Data.ByteString (ByteString)+import Network.Multipart (BodyPart (..), HeaderName (..)) import Safe import qualified Control.Monad.State       as State import qualified Data.ByteString.UTF8      as UTF8@@ -38,7 +39,6 @@ import Rest.Dictionary import Rest.Error import Rest.Handler (ListHandler, Handler, GenHandler (..), Env (..), range, mkInputHandler, Range (..))-import Rest.Multipart (BodyPart (..), HeaderName (..)) import Rest.Types.Container.Resource (Resource, Resources (..)) import qualified Rest.Types.Container.Resource as R import qualified Rest.Api                      as Rest
− src/Rest/Multipart.hs
@@ -1,53 +0,0 @@--- | Data types for representing and showing multi-part bodies.--- Copied from a hidden module in the cgi package.-module Rest.Multipart-  ( MultiPart (..)-  , BodyPart (..)-  , HeaderName (..)-  , showMultipartBody-  ) where--import Data.Char (toLower)-import Data.ByteString.Lazy.Char8 (ByteString)-import Data.List (intersperse)--import qualified Data.ByteString.Lazy.Char8 as BS--showMultipartBody :: String -> MultiPart -> ByteString-showMultipartBody b (MultiPart bs) =-    unlinesCRLF $ foldr (\x xs -> d:showBodyPart x:xs) [c,BS.empty] bs- where d = BS.pack ("--" ++ b)-       c = BS.pack ("--" ++ b ++ "--")--showBodyPart :: BodyPart -> ByteString-showBodyPart (BodyPart hs c) =-    unlinesCRLF $ [BS.pack (n++": "++v) | (HeaderName n,v) <- hs] ++ [BS.empty,c]---data MultiPart = MultiPart [BodyPart]-               deriving (Show, Eq, Ord)--data BodyPart = BodyPart Headers ByteString-                deriving (Show, Eq, Ord)---- | HTTP headers.-type Headers = [(HeaderName, String)]---- | A string with case insensitive equality and comparisons.-newtype HeaderName = HeaderName String deriving (Show)--instance Eq HeaderName where-    HeaderName x == HeaderName y = map toLower x == map toLower y--instance Ord HeaderName where-    HeaderName x `compare` HeaderName y = map toLower x `compare` map toLower y------- * RFC 2046 CRLF-----crlf :: ByteString-crlf = BS.pack "\r\n"--unlinesCRLF :: [ByteString] -> ByteString-unlinesCRLF = BS.concat . intersperse crlf