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
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)