Webfinger

Struct Webfinger 

Source
pub struct Webfinger {
    pub aliases: Vec<String>,
    pub links: Vec<Link>,
    pub subject: String,
}
Expand description

The webfinger type

Webfinger data has three parts

  • aliases
  • links
  • subject

subject defines the name or primary identifier of the object being looked up. aliases are alternate names for the object. links are references to more information about the subject, and can be in a variety of formats. For example, some links will reference activitypub person objects, and others will contain public key data.

This type can be serialized and deserialized

Fields§

§aliases: Vec<String>§links: Vec<Link>§subject: String

Implementations§

Source§

impl Webfinger

Source

pub fn new(subject: &str) -> Self

Create a new Webfinger with the given subject

Source

pub fn add_aliases(&mut self, aliases: &[String]) -> &mut Self

Add multiple aliases to the Webfinger

Source

pub fn add_alias(&mut self, alias: &str) -> &mut Self

Add a single alias to the Webfinger

Source

pub fn aliases(&self) -> &[String]

Get the aliases for this Webfinger

Add multiple Links to this Webfinger

Add single Link to this Webfinger

Get the Links from this Webfinger

Source

pub fn add_activitypub(&mut self, href: &str) -> &mut Self

Add an ActivityPub link to this Webfinger

Since ActivityPub extends JsonLD, this also adds an ActivityStreams JsonLD link

Source

pub fn add_json_ld(&mut self, href: &str, profile: &str) -> &mut Self

Add a JsonLD Link to this Webfinger

Source

pub fn activitypub(&self) -> Option<&Link>

Get an ActivityPub link from this Webfinger

Source

pub fn json_ld(&self) -> Option<&Link>

Get a JsonLD link from this Webfinger

Source

pub fn add_profile(&mut self, href: &str) -> &mut Self

Add a profile link to this Webfinger

Source

pub fn profile(&self) -> Option<&Link>

Get a profile link from this Webfinger

Source

pub fn add_atom(&mut self, href: &str) -> &mut Self

Add an atom link to this Webfinger

Source

pub fn atom(&self) -> Option<&Link>

Get an atom link from this Webfinger

Source

pub fn add_salmon(&mut self, href: &str) -> &mut Self

Set a salmon link from this Webfinger

Source

pub fn salmon(&self) -> Option<&Link>

Get a salmon link from this Webfinger

Source

pub fn add_magic_public_key(&mut self, magic_public_key: &str) -> &mut Self

Set a magic public key link for this Webfinger

Source

pub fn magic_public_key(&self) -> Option<&Link>

Get a magic public key link from this Webfinger

Source

pub fn add_ostatus(&mut self, template: &str) -> &mut Self

Set an ostatus link for this Webfinger

Source

pub fn ostatus(&self) -> Option<&Link>

Get an ostatus link from this Webfinger

Source

pub fn respond(self) -> HttpResponse

Turn this Webfinger into an actix web HttpResponse

Source

pub async fn fetch( client: &Client, scheme: Option<&str>, user: &str, domain: &str, https: bool, ) -> Result<Self, FetchError>

Fetch a webfinger with subject user from a given domain

This method takes a Client so derivative works can provide their own configured clients rather this library generating it’s own http clients.

Trait Implementations§

Source§

impl Clone for Webfinger

Source§

fn clone(&self) -> Webfinger

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Webfinger

Source§

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

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

impl<'de> Deserialize<'de> for Webfinger

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Webfinger

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

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> Instrument for T

Source§

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

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

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.

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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,