Struct cedar_policy::Request

source ·
#[repr(transparent)]
pub struct Request(/* private fields */);
Expand description

Represents the request tuple <P, A, R, C> (see the Cedar design doc).

Implementations§

source§

impl Request

source

pub fn new( principal: Option<EntityUid>, action: Option<EntityUid>, resource: Option<EntityUid>, context: Context ) -> Self

Create a Request.

Note that you can create the EntityUids using .parse() on any string (via the FromStr implementation for EntityUid). The principal, action, and resource fields are optional to support the case where these fields do not contribute to authorization decisions (e.g., because they are not used in your policies). If any of the fields are None, we will automatically generate a unique entity UID that is not equal to any UID in the store.

source

pub fn principal(&self) -> Option<&EntityUid>

Get the principal component of the request

source

pub fn action(&self) -> Option<&EntityUid>

Get the action component of the request

source

pub fn resource(&self) -> Option<&EntityUid>

Get the resource component of the request

Trait Implementations§

source§

impl Debug for Request

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Request

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl RefCast for Request

§

type From = Request

source§

fn ref_cast(_from: &Self::From) -> &Self

source§

fn ref_cast_mut(_from: &mut Self::From) -> &mut Self

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.