#[non_exhaustive]pub struct Request {
pub password: Option<String>,
pub username: Option<String>,
pub device_id: Option<OwnedDeviceId>,
pub initial_device_display_name: Option<String>,
pub auth: Option<AuthData>,
pub kind: RegistrationKind,
pub inhibit_login: bool,
pub login_type: Option<LoginType>,
pub refresh_token: bool,
}
api
and (crate features client
or server
) only.Expand description
Request type for the register
endpoint.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.password: Option<String>
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<String>
Localpart of the desired Matrix ID.
If omitted, the homeserver MUST generate a Matrix ID local part.
device_id: Option<OwnedDeviceId>
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<String>
A display name to assign to the newly-created device.
Ignored if device_id
corresponds to a known device.
auth: Option<AuthData>
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<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
.
refresh_token: bool
If set to true
, the client supports refresh tokens.
Implementations§
Trait Implementations§
source§impl OutgoingRequest for Request
Available on crate feature client
only.
impl OutgoingRequest for Request
client
only.§type EndpointError = UiaaResponse
type EndpointError = UiaaResponse
§type IncomingResponse = Response
type IncomingResponse = Response
source§fn try_into_http_request<T>(
self,
base_url: &str,
access_token: SendAccessToken<'_>,
considering_versions: &[MatrixVersion],
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request<T>( self, base_url: &str, access_token: SendAccessToken<'_>, considering_versions: &[MatrixVersion], ) -> Result<Request<T>, IntoHttpError>
http::Request
. Read moreAuto Trait Implementations§
impl Freeze for Request
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnwindSafe for Request
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moresource§impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
source§fn try_into_http_request_with_user_id<T>(
self,
base_url: &str,
access_token: SendAccessToken<'_>,
user_id: &UserId,
considering_versions: &[MatrixVersion],
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request_with_user_id<T>( self, base_url: &str, access_token: SendAccessToken<'_>, user_id: &UserId, considering_versions: &[MatrixVersion], ) -> Result<Request<T>, IntoHttpError>
http::Request
and appends a virtual user_id
to
assert Appservice identity.