on develop help sign in
Adding typed formURL
commit5c2d46beb878ac16ecce950eee7fc715d8940954 authorBrendan Hay <brendan.g.hay@gmail.com> dateSat 31 Oct 2015, 16:05 (11 years ago) parent26dcca5
3 files changed+17−4
gogol/src/Network/Google/Auth/InstalledApplication.hs+9−3 gogol/src/Network/Google/Auth/Scope.hs+1−1 gogol/stack.yaml+7
gogol/src/Network/Google/Auth/InstalledApplication.hs+9−3
@@ -13,7 +13,7 @@ module Network.Google.Auth.InstalledApplication where
1313import Control.Monad.Catch (MonadCatch)
1414import Control.Monad.IO.Class (MonadIO)
1515import qualified Data.Text.Encoding as Text
16−import Network.Google.Auth.Scope (queryEncodeScopes)
16+import Network.Google.Auth.Scope (Allow (..), queryEncodeScopes)
1717import Network.Google.Internal.Auth
1818import Network.Google.Internal.Logger (Logger)
1919import Network.Google.Prelude
@@ -30,8 +30,14 @@ redirectURI = "urn:ietf:wg:oauth:2.0:oob"
3030-- with 'exchangeCode'.
3131--
3232-- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#formingtheurl Forming the URL>.
33−formURL :: OAuthClient -> [OAuthScope] -> Text
34−formURL c ss = accountsURL
33+formURL :: Allow s => OAuthClient -> proxy s -> Text
34+formURL c = formURLWith c . getScopes
35+
36+-- | Form a URL using 'OAuthScope' values.
37+--
38+-- /See:/ 'formURL'.
39+formURLWith :: OAuthClient -> [OAuthScope] -> Text
40+formURLWith c ss = accountsURL
3541 <> "?response_type=code"
3642 <> "&client_id=" <> toText (_clientId c)
3743 <> "&redirect_uri=" <> redirectURI
gogol/src/Network/Google/Auth/Scope.hs+1−1
@@ -25,7 +25,7 @@ import Data.Coerce (coerce)
2525import Data.Text (Text)
2626import qualified Data.Text as Text
2727import qualified Data.Text.Encoding as Text
28−import Data.Type.Bool (type (||), type If)
28+import Data.Type.Bool (type (||))
2929import Data.Type.Equality (type (==))
3030import Data.Typeable (Proxy (..))
3131import GHC.Exts (Constraint)
gogol/stack.yamlnew file+7
@@ -0,0 +1,7 @@
1+resolver: lts-3.10
2+flags: {}
3+extra-deps:
4+ - memory-0.10
5+packages:
6+ - '.'
7+ - '../core'