packages feed

fluid-idl-http-client (empty) → 0.0.0

raw patch · 5 files changed

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

Dependencies added: aeson, base, bytestring, fluid-idl, 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 @@+# fluid-idl-http-client++Quick and simple glue code for client-side Fluid with HTTP.++In conjunction with `http-client`, `fluid-idl-http-client` can be an addon for generated client-side code.
+ fluid-idl-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:           fluid-idl-http-client+version:        0.0.0+synopsis:       Http Client addon for Fluid+description:    Http Client addon for Fluid+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+    , fluid-idl+    , http-client+    , http-types+    , text-conversions+  exposed-modules:+      Fluid.Client.HttpClient+  default-language: Haskell2010
+ library/Fluid/Client/HttpClient.hs view
@@ -0,0 +1,35 @@+module Fluid.Client.HttpClient+  ( sendRequest+  , Manager+  , RequestHeaders+  , HttpClientResponse+  ) 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 Fluid.Client+import Fluid.Ast (ToAst)++type HttpClientResponse = HttpClient.Response++sendRequest+  :: (HasType meta, ToVal meta, ToAst a, HasType a, FromVal a, HasType err, FromVal err)+  => Manager+  -> Pull+  -> RequestHeaders+  -> Request meta a+  -> IO (HttpClientResponse 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: fluid-idl-http-client+version: '0.0.0'+category: Web+synopsis: Http Client addon for Fluid+description: Http Client addon for Fluid+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+  - fluid-idl+  - http-client+  - http-types+  - text-conversions+  source-dirs: library