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 +29/−0
- README.md +5/−0
- colorless-http-client.cabal +35/−0
- library/Colorless/Client/HttpClient.hs +30/−0
- package.yaml +23/−0
+ 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