stratux-http 0.0.4 → 0.0.5
raw patch · 3 files changed
+56/−10 lines, 3 filesdep ~stratux-typesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: stratux-types
API changes (from Hackage documentation)
+ Data.Aviation.Stratux.HTTP: getSettings :: URIAuth -> String -> String -> EitherT String IO Settings
+ Data.Aviation.Stratux.HTTP: getSettings' :: URIAuth -> String -> String -> EitherT String IO Settings
+ Data.Aviation.Stratux.HTTP: getSettingsWith :: HStream x => (x -> Either e Settings) -> URIAuth -> String -> String -> EitherT e IO Settings
+ Data.Aviation.Stratux.HTTP: getWith :: HStream x => String -> (x -> Either e a) -> URIAuth -> String -> String -> EitherT e IO a
- Data.Aviation.Stratux.HTTP: getStatusWith :: HStream x => (x -> Either e a) -> URIAuth -> String -> String -> EitherT e IO a
+ Data.Aviation.Stratux.HTTP: getStatusWith :: HStream x => (x -> Either e Status) -> URIAuth -> String -> String -> EitherT e IO Status
Files
- changelog.md +4/−0
- src/Data/Aviation/Stratux/HTTP.hs +50/−8
- stratux-http.cabal +2/−2
changelog.md view
@@ -1,3 +1,7 @@+0.0.5++* add `getSettings` to get the settings.+ 0.0.4 * Initial.
src/Data/Aviation/Stratux/HTTP.hs view
@@ -1,8 +1,12 @@ module Data.Aviation.Stratux.HTTP( stratuxHTTP+, getWith , getStatusWith , getStatus , getStatus'+, getSettingsWith+, getSettings+, getSettings' ) where import Control.Applicative((<$>))@@ -10,6 +14,7 @@ import Control.Monad.Trans.Either(EitherT(EitherT)) import Data.Aeson(eitherDecode, eitherDecode') import Data.Aviation.Stratux.Types.Status(Status)+import Data.Aviation.Stratux.Types.Settings(Settings) import Data.Either(Either) import Data.Maybe(Maybe(Just)) import Data.String(String)@@ -20,24 +25,35 @@ stratuxHTTP :: HStream b =>- URIAuth- -> String- -> String- -> String + URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@+ -> String -- ^ @\/ghc@+ -> String -- ^ query @?query@+ -> String -- ^ fragment @#frag@ -> IO b stratuxHTTP auth path query fragment = simpleHTTP (mkRequest GET (URI "http:" (Just auth) path query fragment)) >>= getResponseBody -getStatusWith :: +getWith :: HStream x =>- (x -> Either e a)+ String -- ^ @\/ghc@+ -> (x -> Either e a) -> URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@ -> String -- ^ query @?query@ -> String -- ^ fragment @#frag@ -> EitherT e IO a-getStatusWith d auth query fragment =- EitherT (d <$> stratuxHTTP auth "/getStatus" query fragment)+getWith path d auth query fragment =+ EitherT (d <$> stratuxHTTP auth path query fragment) +getStatusWith :: + HStream x =>+ (x -> Either e Status)+ -> URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@+ -> String -- ^ query @?query@+ -> String -- ^ fragment @#frag@+ -> EitherT e IO Status+getStatusWith =+ getWith "/getStatus"+ getStatus :: URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@ -> String -- ^ query @?query@@@ -53,3 +69,29 @@ -> EitherT String IO Status getStatus' = getStatusWith eitherDecode'++getSettingsWith :: + HStream x =>+ (x -> Either e Settings)+ -> URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@+ -> String -- ^ query @?query@+ -> String -- ^ fragment @#frag@+ -> EitherT e IO Settings+getSettingsWith =+ getWith "/getSettings"++getSettings ::+ URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@+ -> String -- ^ query @?query@+ -> String -- ^ fragment @#frag@+ -> EitherT String IO Settings+getSettings =+ getSettingsWith eitherDecode++getSettings' ::+ URIAuth -- ^ authority @\/\/anonymous\@www.haskell.org:42@+ -> String -- ^ query @?query@+ -> String -- ^ fragment @#frag@+ -> EitherT String IO Settings+getSettings' =+ getSettingsWith eitherDecode'
stratux-http.cabal view
@@ -1,5 +1,5 @@ name: stratux-http-version: 0.0.4+version: 0.0.5 license: BSD3 license-file: LICENCE author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>@@ -27,7 +27,7 @@ build-depends: base < 5 && >= 4- , stratux-types >= 0.0.4 && < 0.1+ , stratux-types >= 0.0.5 && < 0.1 , HTTP >= 4000 && < 5000 , network-uri >= 2.6 && < 3.0 , aeson >= 0.11 && < 1.0