Struct ruma::api::client::r0::account::register::Request[][src]

pub struct Request<'a> {
    pub password: Option<&'a str>,
    pub username: Option<&'a str>,
    pub device_id: Option<&'a DeviceId>,
    pub initial_device_display_name: Option<&'a str>,
    pub auth: Option<AuthData<'a>>,
    pub kind: RegistrationKind,
    pub inhibit_login: bool,
    pub login_type: Option<&'a LoginType>,
}
This is supported on crate feature api and (crate features client-api or client-api-c or client-api-s) only.
Expand description

Data for a request to the register API endpoint.

Register an account on this homeserver.

Fields

password: Option<&'a str>

The desired password for the account.

May be empty for accounts that should not be able to log in again with a password, e.g., for guest or application service accounts.

username: Option<&'a str>

Localpart of the desired Matrix ID.

If omitted, the homeserver MUST generate a Matrix ID local part.

device_id: Option<&'a DeviceId>

ID of the client device.

If this does not correspond to a known client device, a new device will be created. The server will auto-generate a device_id if this is not specified.

initial_device_display_name: Option<&'a str>

A display name to assign to the newly-created device.

Ignored if device_id corresponds to a known device.

auth: Option<AuthData<'a>>

Additional authentication information for the user-interactive authentication API.

Note that this information is not used to define how the registered user should be authenticated, but is instead used to authenticate the register call itself. It should be left empty, or omitted, unless an earlier call returned an response with status code 401.

kind: RegistrationKind

Kind of account to register

Defaults to User if omitted.

inhibit_login: bool

If true, an access_token and device_id should not be returned from this call, therefore preventing an automatic login.

login_type: Option<&'a LoginType>

Login type used by Appservices.

Appservices can bypass the registration flows entirely by providing their token in the header and setting this login type to m.login.application_service.

Implementations

Creates a new Request with all parameters defaulted.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

The ‘Incoming’ variant of Self.

A type capturing the expected error conditions the server can return.

Response type returned when the request is successful.

Metadata about the endpoint.

Tries to convert this request into an http::Request. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

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

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Tries to convert this request into an http::Request and appends a virtual user_id to assert Appservice identity. Read more

Should always be Self

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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