packages feed

colorless-http-client (empty) → 0.0.0

raw patch · 5 files changed

+122/−0 lines, 5 filesdep +aesondep +basedep +bytestring

Dependencies added: aeson, base, bytestring, colorless, http-client, http-types, text-conversions

Files

+ LICENSE view
@@ -0,0 +1,29 @@+BSD 3-Clause License++Copyright (c) 2017, Joe Vargas+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++* Redistributions of source code must retain the above copyright notice, this+  list of conditions and the following disclaimer.++* Redistributions in binary form must reproduce the above copyright notice,+  this list of conditions and the following disclaimer in the documentation+  and/or other materials provided with the distribution.++* Neither the name of the copyright holder nor the names of its+  contributors may be used to endorse or promote products derived from+  this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,5 @@+# colorless-http-client++Quick and simple glue code for client-side Colorless with HTTP.++In conjunction with `http-client`, `colorless-http-client` can be an addon for generated client-side code.
+ colorless-http-client.cabal view
@@ -0,0 +1,35 @@+-- This file has been generated from package.yaml by hpack version 0.17.0.+--+-- see: https://github.com/sol/hpack++name:           colorless-http-client+version:        0.0.0+synopsis:       Http Client addon for Colorless+description:    Http Client addon for Colorless+category:       Web+maintainer:     Joe Vargas+license:        BSD3+license-file:   LICENSE+build-type:     Simple+cabal-version:  >= 1.10++extra-source-files:+    package.yaml+    README.md++library+  hs-source-dirs:+      library+  default-extensions: OverloadedStrings+  ghc-options: -Wall+  build-depends:+      aeson+    , base >= 4.7 && < 5+    , bytestring+    , colorless+    , http-client+    , http-types+    , text-conversions+  exposed-modules:+      Colorless.Client.HttpClient+  default-language: Haskell2010
+ library/Colorless/Client/HttpClient.hs view
@@ -0,0 +1,30 @@+module Colorless.Client.HttpClient+  ( sendRequest+  ) where++import qualified Network.HTTP.Client as HttpClient+import Network.HTTP.Client hiding (Response, Request)+import Network.HTTP.Types.Header (RequestHeaders)+import Data.Aeson (ToJSON(..), encode, FromJSON, decode)+import Data.ByteString.Lazy.Char8 as BL (ByteString)+import Data.Text.Conversions (fromText)++import Colorless.Client+import Colorless.Ast (ToAst)++sendRequest+  :: (HasType meta, ToJSON meta, ToAst a, HasType a, FromJSON a, HasType err, FromJSON err)+  => Manager+  -> Pull+  -> RequestHeaders+  -> Request meta a+  -> IO (HttpClient.Response BL.ByteString, Maybe (Response err a))+sendRequest manager pull headers req = do+  initialRequest <- parseRequest (fromText $ pullAddress pull)+  let request = initialRequest+        { method = "POST"+        , requestHeaders = [("Content-Type","application/json")] ++ headers+        , requestBody = RequestBodyLBS $ encode req+        }+  resp <- httpLbs request manager+  return (resp, decode $ responseBody resp)
+ package.yaml view
@@ -0,0 +1,23 @@+name: colorless-http-client+version: '0.0.0'+category: Web+synopsis: Http Client addon for Colorless+description: Http Client addon for Colorless+maintainer: Joe Vargas+license: BSD3+extra-source-files:+- package.yaml+- README.md+ghc-options: -Wall+default-extensions:+- OverloadedStrings+library:+  dependencies:+  - aeson+  - base >= 4.7 && < 5+  - bytestring+  - colorless+  - http-client+  - http-types+  - text-conversions+  source-dirs: library