packages feed

aur 5.0.0 → 5.0.1

raw patch · 2 files changed

+21/−19 lines, 2 filesdep ~servantdep ~servant-client

Dependency ranges changed: servant, servant-client

Files

Linux/Arch/Aur/Rpc.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE DataKinds #-} @@ -15,24 +16,23 @@ import Control.Monad.Trans (MonadIO, liftIO) import Control.Monad.Trans.Except import Data.Proxy-import Data.Text (Text, unpack)+import Data.Text (Text) import Linux.Arch.Aur.Types-import Network.HTTP.Client (Manager, newManager)+import Network.HTTP.Client (newManager) import Network.HTTP.Client.TLS import Servant.API import Servant.Client-import System.IO.Unsafe  --- -type Info = "rpc" :> QueryParam "v" String-           :> QueryParam "type" String-           :> QueryParams "arg[]" String+type Info = "rpc" :> QueryParam "v" Text+           :> QueryParam "type" Text+           :> QueryParams "arg[]" Text            :> Get '[JSON] RPCResp -type Search = "rpc" :> QueryParam "v" String-           :> QueryParam "type" String-           :> QueryParam "arg" String+type Search = "rpc" :> QueryParam "v" Text+           :> QueryParam "type" Text+           :> QueryParam "arg" Text            :> Get '[JSON] RPCResp  type API = Info :<|> Search@@ -40,21 +40,23 @@ api :: Proxy API api = Proxy --- Bad, but necessary, apparently.-__manager :: Manager-__manager = unsafePerformIO $ newManager tlsManagerSettings+url :: BaseUrl+url = BaseUrl Https "aur.archlinux.org" 443 ""  -- | Make a call to the AUR RPC. Assumes version 5 of the API.-rpcI :<|> rpcS = client api (BaseUrl Http aurUrl 80 "") __manager-  where aurUrl = "aur.archlinux.org"+rpcI :<|> rpcS = client api  -- | Perform an @info@ call on one or more package names. info :: MonadIO m => [Text] -> m [AurInfo]-info = unwrap . rpcI (Just "5") (Just "info") . map unpack+info ps = do+  manager <- liftIO $ newManager tlsManagerSettings+  unwrap $ rpcI (Just "5") (Just "info") ps manager url  -- | Perform a @search@ call on a package name or description text. search :: MonadIO m => Text -> m [AurInfo]-search = unwrap . rpcS (Just "5") (Just "search") . Just . unpack+search p = do+  manager <- liftIO $ newManager tlsManagerSettings+  unwrap $ rpcS (Just "5") (Just "search") (Just p) manager url  unwrap :: MonadIO m => ExceptT ServantError IO RPCResp -> m [AurInfo] unwrap = liftIO . fmap (either (const []) _results) . runExceptT
aur.cabal view
@@ -1,6 +1,6 @@ name:                aur -version:             5.0.0+version:             5.0.1  synopsis:            Access metadata from the Arch Linux User Repository. @@ -47,8 +47,8 @@                      , http-client >= 0.4.27                      , http-client-tls >= 0.2.2                      , mtl >= 2.2.1-                     , servant >= 0.5 && < 0.6-                     , servant-client >= 0.5 && < 0.6+                     , servant >= 0.7 && < 0.8+                     , servant-client >= 0.7 && < 0.8                      , text >=1.1 && <1.3                      , transformers >= 0.4.2.0