packages feed

network-api-support 0.0.8 → 0.1.0

raw patch · 6 files changed

+14/−45 lines, 6 filesdep +http-client-tlsdep −certificatedep −failuredep −http-conduitdep ~http-clientdep ~tls

Dependencies added: http-client-tls

Dependencies removed: certificate, failure, http-conduit, resourcet, tls-extra, transformers

Dependency ranges changed: http-client, tls

Files

network-api-support.cabal view
@@ -1,5 +1,5 @@ Name:               network-api-support-Version:            0.0.8+Version:            0.1.0 License:            BSD3 License-File:       LICENSE Author:             Mark Hibberd <mark@hibberd.id.au>@@ -14,11 +14,10 @@ Description:   Toolkit for building http client libraries over Network.Http.Conduit.   .-  /Note/: This library is under heavy development, currently-  the library is functional but undocumented. Examples of use-  can be found in the pin and postmark client libraries.-  Basically expect improvements and change.+  /Note/: Examples of use can be found in the pin and postmark client+  libraries. + Source-Repository   head   Type:             git   Location:         https://github.com/apiengine/network-api-support.git@@ -33,17 +32,12 @@                     , attoparsec                    >= 0.10                     , bytestring                    >= 0.9                     , case-insensitive              >= 0.4-                    , certificate                   >= 1.2-                    , failure                       >= 0.2-                    , http-conduit                  >= 2.0.0.4                     , http-types                    >= 0.6-                    , http-client                   >= 0.1-                    , resourcet                     >= 0.3+                    , http-client                   >= 0.2.2.2+                    , http-client-tls               >= 0.2.1.1                     , text                          >= 0.11                     , time                          >= 1-                    , tls                           >= 0.9-                    , tls-extra                     >= 0.4-                    , transformers                  >= 0.2+                    , tls                           >= 1.2.2    GHC-Options:                     -Wall -fno-warn-orphans@@ -56,4 +50,3 @@                     Network.Api.Support.Core                     Network.Api.Support.Request                     Network.Api.Support.Response-                    Network.Api.Support.Security
src/Network/Api/Support.hs view
@@ -12,4 +12,4 @@ import Network.Api.Support.Core as X import Network.Api.Support.Request as X import Network.Api.Support.Response as X-import Network.Api.Support.Security as X+--import Network.Api.Support.Security as X
src/Network/Api/Support/Core.hs view
@@ -7,28 +7,24 @@ import Network.Api.Support.Request import Network.Api.Support.Response -import Control.Failure import Control.Monad-import Control.Monad.IO.Class-import Control.Monad.Trans.Resource  import Data.Text import Data.Monoid -import Network.HTTP.Conduit+import Network.HTTP.Client import Network.HTTP.Types  -- * Request runners  -- | Run a request using the specified settings, method, url and request transformer. runRequest ::-  (MonadIO m, MonadBaseControl IO m, MonadThrow m, MonadUnsafeIO m, Failure HttpException m) =>   ManagerSettings   -> StdMethod   -> Text   -> RequestTransformer   -> Responder b-  -> m b+  -> IO b runRequest settings stdmethod url transform  =   runRequest' settings url (transform <> setMethod (renderStdMethod stdmethod)) @@ -36,14 +32,13 @@ -- | can be set using the setMethod transformer. This is only useful if you require a -- | custom http method. Prefer runRequest where possible. runRequest' ::-  (MonadIO m, MonadBaseControl IO m, MonadThrow m, MonadUnsafeIO m, Failure HttpException m) =>   ManagerSettings   -> Text   -> RequestTransformer   -> Responder b-  -> m b+  -> IO b runRequest' settings url transform responder =   do url' <- parseUrl $ unpack url      let url'' = url' { checkStatus = const . const . const $ Nothing } -- handle all response codes.      let req = appEndo transform url''-     liftM (responder req) . withManagerSettings settings . httpLbs $ req+     liftM (responder req) . withManager settings . httpLbs $ req
src/Network/Api/Support/Request.hs view
@@ -22,8 +22,7 @@ import Data.Monoid import Data.Time -import Network.HTTP.Conduit-import Network.HTTP.Client (insertCookiesIntoRequest)+import Network.HTTP.Client  -- * Request transformers 
src/Network/Api/Support/Response.hs view
@@ -12,7 +12,7 @@ import Data.Aeson import Data.Text -import Network.HTTP.Conduit+import Network.HTTP.Client import Network.HTTP.Types  -- | Response handler.
− src/Network/Api/Support/Security.hs
@@ -1,18 +0,0 @@-module Network.Api.Support.Security (-  checkDomainOnly-) where--import qualified Data.ByteString.Char8 as B8-import Data.Certificate.X509 (X509)--import Network.TLS (TLSCertificateUsage)-import Network.TLS.Extra (certificateVerifyDomain)-import Data.CertificateStore (CertificateStore)---- | A TLS validator that checks the domain only. Note that this means the validator--- | will not check the cert chain, and can be used on systems where Data.Certificate.X509--- | falls over as it does not have access to local root certs.--- |--- | ! Use with caution !-checkDomainOnly :: CertificateStore -> B8.ByteString -> [X509] -> IO TLSCertificateUsage-checkDomainOnly _ host' certs = return $ certificateVerifyDomain (B8.unpack host') certs