Skip to main content

Uris

Struct Uris 

Source
pub struct Uris { /* private fields */ }
Expand description

The URIs of what a federation serves, in one origin, built from the templates their routes were registered with.

Federation::uris gives them where there is no request, and Context::uris within one. They carry none of the application’s data and are cheap to clone, so an application can keep them in its own state, for code that runs outside any request: creating an account, sending a post from a background job. An application serving several hosts keeps one and takes each tenant’s with Uris::with_origin.

Implementations§

Source§

impl Uris

Source

pub fn origin(&self) -> &Url

The origin these URIs are in.

Source

pub fn with_origin(&self, origin: Url) -> Self

The same URIs, in origin.

Source

pub fn actor_uri(&self, kind: &str, identifier: &str) -> Result<Url, UriError>

The URI of the actor of kind with identifier.

§Errors

When no actor dispatcher is of kind, or identifier is empty for a template that needs one.

Source

pub fn key_id(&self, kind: &str, identifier: &str) -> Result<Url, UriError>

The ID of the key the actor of kind with identifier signs with: its IRI with the fragment main-key, as Mastodon names it, and as the actor document should publish it.

§Errors

As Uris::actor_uri.

Source

pub fn object_uri( &self, kind: &str, values: &[(&str, &str)], ) -> Result<Url, UriError>

The URI of the object of kind with values.

§Errors

When no object dispatcher is of kind, or values do not fill its template.

Source

pub fn collection_uri( &self, kind: &str, identifier: &str, ) -> Result<Url, UriError>

The URI of the collection kind of what identifier names.

§Errors

As Uris::actor_uri, for collections.

Source

pub fn inbox_uri(&self, kind: &str, identifier: &str) -> Result<Url, UriError>

The URI of the inbox of the actor of kind with identifier.

§Errors

When no inbox is registered for kind, or identifier does not fill its template.

Source

pub fn shared_inbox_uri(&self) -> Result<Url, UriError>

The URI of the shared inbox.

§Errors

When no shared inbox is registered.

Trait Implementations§

Source§

impl Clone for Uris

Source§

fn clone(&self) -> Uris

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 Debug for Uris

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Uris

§

impl RefUnwindSafe for Uris

§

impl Send for Uris

§

impl Sync for Uris

§

impl Unpin for Uris

§

impl UnsafeUnpin for Uris

§

impl UnwindSafe for Uris

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = 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 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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more