def sasl.cont

bend-kit-postgres@0.3.0.0 · postgres.bend:289

import bend-kit-postgres@0.3.0.0/postgres.bend as Postgres
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
import bend-kit-postgres@0.3.0.0/codec.bend as Codec
import bend-kit-postgres@0.3.0.0/scram.bend as Scram

289def sasl.cont(st: Scram.First, +pass: String, r: Result<&1, &1, Failure, Conn & Codec.Back>) -> IO(Result<&1, &1, Failure, Conn>):
290  match r:
291    case Fail{e}:
292      IO.pure(Result<&1, &1, Failure, Conn>, Fail{e})
293    case Done{(c, m)}:
294      match m:
295        case Codec.AuthSASLContinue{data}:
296          do IO<Result<&1, &1, Failure, Conn>>:
297            f : Result<&1, &1, U32 & String, Scram.Final & String> <- Scram.respond(st, Bytes.to_string(data), pass)
298            sasl.respond(c, f)
299        case Codec.ErrorResponse{fs}:
300          reject(Conn, c, fs)
301        case _:
302          abort(Conn, c, Malformed{})

Uses (18)

Used by (1)