def grant

bend-kit-oauth2@0.11.0.1 · oauth2.bend:181

import bend-kit-oauth2@0.11.0.1/oauth2.bend as Oauth2
import Base
import bend-kit-hairpin@0.13.0.1/hairpin.bend as Hairpin
import bend-kit-http@0.38.1.1/http.bend as Http
import bend-kit-time@0.3.0.0/time.bend as Time

181# POST m to the token endpoint. Hairpin sends a POST once.
182def grant(h: Hairpin.Client, cfg: Config, m: Map<&2, String>, +old: String) -> IO(Hairpin.Client & Result<&1, &1, Err, Token>):
183  Config{url, +id, +secret} = cfg
184  do IO<Hairpin.Client & Result<&1, &1, Err, Token>>:
185    now : Time.Instant <- Time.now()
186    x : Hairpin.Client & Result<&1, &1, Hairpin.Err, Http.Res> <-
187      Hairpin.request(h, "POST", url, auth.headers(id, secret), Http.from_string(body(id, secret, m)))
188    return grant.done(old, now, x)

Uses (20)

Used by (3)