pub trait OutgoingRequest: Sized + Clone {
    type EndpointError: EndpointError;
    type IncomingResponse: IncomingResponse<EndpointError = Self::EndpointError>;

    const METADATA: Metadata;

    // Required method
    fn try_into_http_request<T>(
        self,
        base_url: &str,
        access_token: SendAccessToken<'_>,
        considering_versions: &[MatrixVersion]
    ) -> Result<Request<T>, IntoHttpError>
       where T: Default + BufMut;
}
Available on crate feature api only.
Expand description

A request type for a Matrix API endpoint, used for sending requests.

Required Associated Types§

type EndpointError: EndpointError

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

type IncomingResponse: IncomingResponse<EndpointError = Self::EndpointError>

Response type returned when the request is successful.

Required Associated Constants§

const METADATA: Metadata

Metadata about the endpoint.

Required Methods§

fn try_into_http_request<T>( self, base_url: &str, access_token: SendAccessToken<'_>, considering_versions: &[MatrixVersion] ) -> Result<Request<T>, IntoHttpError>
where T: Default + BufMut,

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

On endpoints with authentication, when adequate information isn’t provided through access_token, this could result in an error. It may also fail with a serialization error in case of bugs in Ruma though.

It may also fail if, for every version in considering_versions;

  • The endpoint is too old, and has been removed in all versions. (EndpointRemoved)
  • The endpoint is too new, and no unstable path is known for this endpoint. (NoUnstablePath)

Finally, this will emit a warning through tracing if it detects if any version in considering_versions has deprecated this endpoint.

The endpoints path will be appended to the given base_url, for example https://matrix.org. Since all paths begin with a slash, it is not necessary for the base_url to have a trailing slash. If it has one however, it will be ignored.

Object Safety§

This trait is not object safe.

Implementors§

§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::add_3pid::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::bind_3pid::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::change_password::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::check_registration_token_validity::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::deactivate::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::delete_3pid::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::get_3pids::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::get_username_availability::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::register::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_3pid_management_token_via_email::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_3pid_management_token_via_msisdn::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_openid_token::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_password_change_token_via_email::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_password_change_token_via_msisdn::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_registration_token_via_email::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::request_registration_token_via_msisdn::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::unbind_3pid::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::account::whoami::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::alias::create_alias::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::alias::delete_alias::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::alias::get_alias::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::appservice::request_ping::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::appservice::set_room_visibility::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::add_backup_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::add_backup_keys_for_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::add_backup_keys_for_session::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::create_backup_version::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::delete_backup_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::delete_backup_keys_for_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::delete_backup_keys_for_session::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::delete_backup_version::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::get_backup_info::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::get_backup_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::get_backup_keys_for_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::get_backup_keys_for_session::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::get_latest_backup_info::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::backup::update_backup_version::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::config::get_global_account_data::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::config::get_room_account_data::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::config::set_global_account_data::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::config::set_room_account_data::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::context::get_context::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::dehydrated_device::delete_dehydrated_device::unstable::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::dehydrated_device::get_dehydrated_device::unstable::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::dehydrated_device::get_events::unstable::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::dehydrated_device::put_dehydrated_device::unstable::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::device::delete_device::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::device::delete_devices::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::device::get_device::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::device::get_devices::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::device::update_device::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::directory::get_public_rooms::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::directory::get_public_rooms_filtered::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::directory::get_room_visibility::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::directory::set_room_visibility::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::discovery::discover_homeserver::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::discovery::discover_support::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::discovery::get_authentication_issuer::msc2965::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::discovery::get_capabilities::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::discovery::get_supported_versions::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::filter::create_filter::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::filter::get_filter::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::keys::claim_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::keys::get_key_changes::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::keys::get_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::keys::upload_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::keys::upload_signatures::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::keys::upload_signing_keys::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::knock::knock_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::create_content::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::create_content_async::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::create_mxc_uri::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::get_content::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::get_content_as_filename::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::get_content_thumbnail::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::get_media_config::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::media::get_media_preview::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::ban_user::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::forget_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::get_member_events::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::invite_user::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::join_room_by_id::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::join_room_by_id_or_alias::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::joined_members::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::joined_rooms::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::kick_user::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::leave_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::membership::unban_user::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::message::get_message_events::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::message::send_message_event::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::presence::get_presence::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::presence::set_presence::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::profile::get_avatar_url::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::profile::get_display_name::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::profile::get_profile::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::profile::set_avatar_url::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::profile::set_display_name::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::delete_pushrule::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_notifications::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_pushers::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_pushrule::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_pushrule_actions::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_pushrule_enabled::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_pushrules_all::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::get_pushrules_global_scope::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::set_pusher::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::set_pushrule::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::set_pushrule_actions::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::push::set_pushrule_enabled::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::read_marker::set_read_marker::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::receipt::create_receipt::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::redact::redact_event::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::relations::get_relating_events::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::relations::get_relating_events_with_rel_type::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::relations::get_relating_events_with_rel_type_and_event_type::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::aliases::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::create_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::get_event_by_timestamp::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::get_room_event::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::get_summary::msc3266::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::report_content::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::room::upgrade_room::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::search::search_events::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::server::get_user_info::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::get_login_token::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::get_login_types::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::login::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::login_fallback::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::logout::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::logout_all::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::refresh_token::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::sso_login::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::session::sso_login_with_provider::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::space::get_hierarchy::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::state::get_state_events::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::state::get_state_events_for_key::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::state::send_state_event::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::sync::sync_events::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::sync::sync_events::v4::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::tag::create_tag::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::tag::delete_tag::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::tag::get_tags::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::thirdparty::get_location_for_protocol::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::thirdparty::get_location_for_room_alias::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::thirdparty::get_protocol::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::thirdparty::get_protocols::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::thirdparty::get_user_for_protocol::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::thirdparty::get_user_for_user_id::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::threads::get_threads::v1::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::to_device::send_event_to_device::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::typing::create_typing_event::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::uiaa::get_uiaa_fallback_page::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::user_directory::search_users::v3::Request

Available on crate feature client only.
§

impl OutgoingRequest for matrix_sdk::ruma::api::client::voip::get_turn_server_info::v3::Request

Available on crate feature client only.