http-client 0.3.0.1 → 0.3.0.2
raw patch · 4 files changed
+26/−15 lines, 4 filesdep −zlib-bindings
Dependencies removed: zlib-bindings
Files
- Network/HTTP/Client/Request.hs +2/−1
- http-client.cabal +2/−2
- test/Network/HTTP/Client/RequestSpec.hs +21/−0
- test/Spec.hs +1/−12
Network/HTTP/Client/Request.hs view
@@ -23,6 +23,7 @@ import Data.Maybe (fromMaybe, isJust) import Data.Monoid (mempty, mappend) import Data.String (IsString(..))+import Data.Char (toLower) import Control.Monad (when, unless) import Numeric (showHex) @@ -122,7 +123,7 @@ failUri = throwM . InvalidUrlException (show uri) parseScheme URI{uriScheme = scheme} =- case scheme of+ case map toLower scheme of "http:" -> return False "https:" -> return True _ -> failUri "Invalid scheme"
http-client.cabal view
@@ -1,5 +1,5 @@ name: http-client-version: 0.3.0.1+version: 0.3.0.2 synopsis: An HTTP client engine, intended as a base layer for more user-friendly packages. description: This codebase has been refactored from http-conduit. homepage: https://github.com/snoyberg/http-client@@ -58,6 +58,7 @@ Network.HTTP.Client.ResponseSpec Network.HTTP.Client.BodySpec Network.HTTP.Client.HeadersSpec+ Network.HTTP.Client.RequestSpec build-depends: base , http-client , hspec@@ -68,7 +69,6 @@ , blaze-builder , time , network- , zlib-bindings , containers , transformers , deepseq
+ test/Network/HTTP/Client/RequestSpec.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedStrings #-}+module Network.HTTP.Client.RequestSpec where++import Test.Hspec+import Network.HTTP.Client (parseUrl)++spec :: Spec+spec = describe "case insensitive scheme" $ do+ let succeed s = it s $+ case parseUrl s of+ Nothing -> error "failed"+ Just _ -> return () :: IO ()+ failure s = it s $+ case parseUrl s of+ Nothing -> return () :: IO ()+ Just req -> error $ show req+ succeed "http://example.com"+ succeed "httP://example.com"+ succeed "HttP://example.com"+ succeed "HttPs://example.com"+ failure "ftp://example.com"
test/Spec.hs view
@@ -1,12 +1,1 @@-import Test.Hspec-import qualified Network.HTTP.Client.BodySpec as BodySpec-import qualified Network.HTTP.Client.HeadersSpec as HeadersSpec-import qualified Network.HTTP.Client.ResponseSpec as ResponseSpec-import qualified Network.HTTP.ClientSpec as ClientSpec--main :: IO ()-main = hspec $ do- BodySpec.spec- HeadersSpec.spec- ResponseSpec.spec- ClientSpec.spec+{-# OPTIONS_GHC -F -pgmF hspec-discover #-}