Struct cedar_policy_core::ast::Context
source · pub struct Context { /* private fields */ }
Expand description
Context
field of a Request
Implementations§
source§impl Context
impl Context
sourcepub fn from_expr(
expr: BorrowedRestrictedExpr<'_>,
extensions: Extensions<'_>,
) -> Result<Self, ContextCreationError>
pub fn from_expr( expr: BorrowedRestrictedExpr<'_>, extensions: Extensions<'_>, ) -> Result<Self, ContextCreationError>
Create a Context
from a RestrictedExpr
, which must be a Record
.
extensions
provides the Extensions
which should be active for
evaluating the RestrictedExpr
.
sourcepub fn from_pairs(
pairs: impl IntoIterator<Item = (SmolStr, RestrictedExpr)>,
extensions: Extensions<'_>,
) -> Result<Self, ContextCreationError>
pub fn from_pairs( pairs: impl IntoIterator<Item = (SmolStr, RestrictedExpr)>, extensions: Extensions<'_>, ) -> Result<Self, ContextCreationError>
Create a Context
from a map of key to RestrictedExpr
, or a Vec of
(key, RestrictedExpr)
pairs, or any other iterator of (key, RestrictedExpr)
pairs
extensions
provides the Extensions
which should be active for
evaluating the RestrictedExpr
.
sourcepub fn from_json_str(
json: &str,
) -> Result<Self, ContextJsonDeserializationError>
pub fn from_json_str( json: &str, ) -> Result<Self, ContextJsonDeserializationError>
Create a Context
from a string containing JSON (which must be a JSON
object, not any other JSON type, or you will get an error here).
JSON here must use the __entity
and __extn
escapes for entity
references, extension values, etc.
For schema-based parsing, use ContextJsonParser
.
sourcepub fn from_json_value(
json: Value,
) -> Result<Self, ContextJsonDeserializationError>
pub fn from_json_value( json: Value, ) -> Result<Self, ContextJsonDeserializationError>
Create a Context
from a serde_json::Value
(which must be a JSON
object, not any other JSON type, or you will get an error here).
JSON here must use the __entity
and __extn
escapes for entity
references, extension values, etc.
For schema-based parsing, use ContextJsonParser
.
sourcepub fn from_json_file(
json: impl Read,
) -> Result<Self, ContextJsonDeserializationError>
pub fn from_json_file( json: impl Read, ) -> Result<Self, ContextJsonDeserializationError>
Create a Context
from a JSON file. The JSON file must contain a JSON
object, not any other JSON type, or you will get an error here.
JSON here must use the __entity
and __extn
escapes for entity
references, extension values, etc.
For schema-based parsing, use ContextJsonParser
.
Trait Implementations§
source§impl AsRef<PartialValue> for Context
impl AsRef<PartialValue> for Context
source§fn as_ref(&self) -> &PartialValue
fn as_ref(&self) -> &PartialValue
source§impl From<Context> for PartialValue
impl From<Context> for PartialValue
source§fn from(ctx: Context) -> PartialValue
fn from(ctx: Context) -> PartialValue
source§impl IntoIterator for Context
impl IntoIterator for Context
impl StructuralPartialEq for Context
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more