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 +2/−2
- src/Rest/Dictionary/Combinators.hs +1/−1
- src/Rest/Dictionary/Types.hs +1/−1
- src/Rest/Driver/Perform.hs +1/−1
- src/Rest/Driver/Routing.hs +1/−1
- src/Rest/Multipart.hs +0/−53
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