Header menu logo Falco.UnionRoutes

Extractor<'T, 'E> Type

Asynchronously extracts a value from HTTP context. Used for authentication, authorization, reading headers, cookies, database lookups, or any value that requires request context.

Example

 let requireAuth: Extractor<UserId, AppError> = fun ctx ->
     task {
         match ctx.User.FindFirst(ClaimTypes.NameIdentifier) with
         | null -> return Error NotAuthenticated
         | claim -> return Ok (UserId (Guid.Parse claim.Value))
     }
val requireAuth: ctx: 'a -> System.Threading.Tasks.Task<Result<'b,'c>>
val ctx: 'a
val task: TaskBuilder
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
val claim: obj | null
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>

Type something to start searching.