on develop help sign in
Adding typed formURL
5c2d46bBrendan Hay
gogol/src/Network/Google/Auth/InstalledApplication.hs+9−3
@@ -13,7 +13,7 @@ module Network.Google.Auth.InstalledApplication where
13import Control.Monad.Catch (MonadCatch)
13import Control.Monad.Catch (MonadCatch)
14import Control.Monad.IO.Class (MonadIO)
14import Control.Monad.IO.Class (MonadIO)
15import qualified Data.Text.Encoding as Text
15import qualified Data.Text.Encoding as Text
16−import Network.Google.Auth.Scope (queryEncodeScopes)
16+import Network.Google.Auth.Scope (Allow (..), queryEncodeScopes)
17import Network.Google.Internal.Auth
17import Network.Google.Internal.Auth
18import Network.Google.Internal.Logger (Logger)
18import Network.Google.Internal.Logger (Logger)
19import Network.Google.Prelude
19import Network.Google.Prelude
@@ -30,8 +30,14 @@ redirectURI = "urn:ietf:wg:oauth:2.0:oob"
30-- with 'exchangeCode'.
30-- with 'exchangeCode'.
31--
31--
32-- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#formingtheurl Forming the URL>.
32-- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#formingtheurl Forming the URL>.
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'.
33−formURL :: OAuthClient -> [OAuthScope] -> Text
39+formURLWith :: OAuthClient -> [OAuthScope] -> Text
34−formURL c ss = accountsURL
40+formURLWith c ss = accountsURL
35 <> "?response_type=code"
41 <> "?response_type=code"
36 <> "&client_id=" <> toText (_clientId c)
42 <> "&client_id=" <> toText (_clientId c)
37 <> "&redirect_uri=" <> redirectURI
43 <> "&redirect_uri=" <> redirectURI
gogol/src/Network/Google/Auth/Scope.hs+1−1
@@ -25,7 +25,7 @@ import Data.Coerce (coerce)
25import Data.Text (Text)
25import Data.Text (Text)
26import qualified Data.Text as Text
26import qualified Data.Text as Text
27import qualified Data.Text.Encoding as Text
27import qualified Data.Text.Encoding as Text
28−import Data.Type.Bool (type (||), type If)
28+import Data.Type.Bool (type (||))
29import Data.Type.Equality (type (==))
29import Data.Type.Equality (type (==))
30import Data.Typeable (Proxy (..))
30import Data.Typeable (Proxy (..))
31import GHC.Exts (Constraint)
31import 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'