#[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,
pub guest_access_token: Option<String>,
}api and (crate features client-api-c or client-api-s) 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: RegistrationKindKind of account to register
Defaults to User if omitted.
inhibit_login: boolIf 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: boolIf set to true, the client supports refresh tokens.
guest_access_token: Option<String>A guest user’s access token, to upgrade to a regular account.
If this is set, the username field is also required.
Implementations§
Trait Implementations§
Source§impl IncomingRequest for Request
impl IncomingRequest for Request
Source§type EndpointError = UiaaResponse
type EndpointError = UiaaResponse
Source§type OutgoingResponse = Response
type OutgoingResponse = Response
Source§fn try_from_http_request<B, S>(
request: Request<B>,
path_args: &[S],
) -> Result<Request, FromHttpRequestError>
fn try_from_http_request<B, S>( request: Request<B>, path_args: &[S], ) -> Result<Request, FromHttpRequestError>
http::Request into this request type,
together with the corresponding path arguments. Read moreSource§fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
METHOD of this endpoint.Source§impl Metadata for Request
impl Metadata for Request
Source§const METHOD: Method = ::ruma_common::exports::http::Method::POST
const METHOD: Method = ::ruma_common::exports::http::Method::POST
Source§const RATE_LIMITED: bool = true
const RATE_LIMITED: bool = true
Source§const PATH_BUILDER: VersionHistory
const PATH_BUILDER: VersionHistory
Source§type Authentication = AppserviceTokenOptional
type Authentication = AppserviceTokenOptional
Source§type PathBuilder = VersionHistory
type PathBuilder = VersionHistory
Source§fn empty_request_body<B>() -> B
fn empty_request_body<B>() -> B
Source§fn make_endpoint_url(
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
base_url: &str,
path_args: &[&dyn Display],
query_string: &str,
) -> Result<String, IntoHttpError>
fn make_endpoint_url( path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, base_url: &str, path_args: &[&dyn Display], query_string: &str, ) -> Result<String, IntoHttpError>
Source§impl OutgoingRequest for Request
impl OutgoingRequest for Request
Source§type EndpointError = UiaaResponse
type EndpointError = UiaaResponse
Source§type IncomingResponse = Response
type IncomingResponse = Response
Source§fn try_into_http_request<T>(
self,
base_url: &str,
authentication_input: <<Request as Metadata>::Authentication as AuthScheme>::Input<'_>,
path_builder_input: <<Request as Metadata>::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request<T>( self, base_url: &str, authentication_input: <<Request as Metadata>::Authentication as AuthScheme>::Input<'_>, path_builder_input: <<Request as Metadata>::PathBuilder as PathBuilder>::Input<'_>, ) -> 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§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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
<T as Metadata>::Authentication: for<'a> AuthScheme<Input<'a> = SendAccessToken<'a>>,
impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
<T as Metadata>::Authentication: for<'a> AuthScheme<Input<'a> = SendAccessToken<'a>>,
Source§fn try_into_http_request_with_identity<T>(
self,
base_url: &str,
access_token: SendAccessToken<'_>,
identity: AppserviceUserIdentity<'_>,
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request_with_identity<T>( self, base_url: &str, access_token: SendAccessToken<'_>, identity: AppserviceUserIdentity<'_>, path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<T>, IntoHttpError>
http::Request and adds the given
AppserviceUserIdentity to it, if the identity is not empty.