// Cloudflare Access helper bindings
///|
fn access_is_js_nullish(value : @core.Any) -> Bool {
@core.typeof_(value) == "undefined" || @core.is_null(value)
}
///|
fn access_header_value(headers : @http.Headers, name : String) -> String? {
headers.as_any()._call("get", [@core.any(name)]) |> @core.identity_option
}
///|
pub fn access_jwt_assertion_from_headers(headers : @http.Headers) -> String? {
access_header_value(headers, "cf-access-jwt-assertion")
}
///|
pub fn access_authenticated_user_email_from_headers(
headers : @http.Headers,
) -> String? {
access_header_value(headers, "cf-access-authenticated-user-email")
}
///|
pub fn access_authenticated_user_id_from_headers(
headers : @http.Headers,
) -> String? {
access_header_value(headers, "cf-access-authenticated-user-id")
}
///|
pub fn CloudflareRequest::access_jwt_assertion(
self : CloudflareRequest,
) -> String? {
access_jwt_assertion_from_headers(self.headers())
}
///|
pub fn CloudflareRequest::access_authenticated_user_email(
self : CloudflareRequest,
) -> String? {
access_authenticated_user_email_from_headers(self.headers())
}
///|
pub fn CloudflareRequest::access_authenticated_user_id(
self : CloudflareRequest,
) -> String? {
access_authenticated_user_id_from_headers(self.headers())
}
///|
pub fn CloudflareRequest::tls_client_auth(
self : CloudflareRequest,
) -> @core.Any? {
let cf = self.as_any()["cf"]
if access_is_js_nullish(cf) {
None
} else {
let tls_client_auth = cf["tlsClientAuth"]
if access_is_js_nullish(tls_client_auth) {
None
} else {
Some(tls_client_auth)
}
}
}