Skip to main content

Params

Struct Params 

Source
pub struct Params<'a>(/* private fields */);
Expand description

Parameters sent with an incoming JSON-RPC request.

The data containing the params is a Cow<&str> and can either be a borrowed &str of JSON from an incoming super::request::Request (which in turn borrows it from the input buffer that is shared between requests); or, it can be an owned String.

Implementations§

Source§

impl<'a> Params<'a>

Source

pub fn new(raw: Option<&'a str>) -> Self

Create params

Source

pub fn sequence(&self) -> ParamsSequence<'_>

Obtain a sequence parser, ParamsSequence.

This allows sequential parsing of the incoming params, using an Iterator-style API and is useful when the RPC request has optional parameters at the tail that may or may not be present.

Source

pub fn parse<T>(&'a self) -> Result<T, ErrorObjectOwned>
where T: Deserialize<'a>,

Attempt to parse all parameters as an array or map into type T.

Source

pub fn one<T>(&'a self) -> Result<T, ErrorObjectOwned>
where T: Deserialize<'a>,

Attempt to parse parameters as an array of a single value of type T, and returns that value.

Source

pub fn into_owned(self) -> Params<'static>

Convert Params<'a> to Params<'static> so that it can be moved across threads.

This will cause an allocation if the params internally are using a borrowed JSON slice.

Source

pub fn len_bytes(&self) -> usize

Return the length of underlying JSON string in number of bytes.

Source

pub fn as_str(&self) -> Option<&str>

Return the underlying JSON string as a &str.

Trait Implementations§

Source§

impl<'a> Clone for Params<'a>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Params<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Params<'a>

§

impl<'a> RefUnwindSafe for Params<'a>

§

impl<'a> Send for Params<'a>

§

impl<'a> Sync for Params<'a>

§

impl<'a> Unpin for Params<'a>

§

impl<'a> UnsafeUnpin for Params<'a>

§

impl<'a> UnwindSafe for Params<'a>

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 24 bytes