Trait Request

Source
pub trait Request: Sized + Clone {
    type Response: Response;

    const METADATA: Metadata;

    // Required method
    fn try_into_http_request<T>(
        self,
        ctx: Context<'_>,
    ) -> Result<Request<T>, IntoHttpError>
       where T: Default + BufMut;
}
Expand description

Trait for requests.

All requests in the API should implement this trait. It provides a method to convert the request into an HTTP request.

The implementing type can perform any necessary validation on the request before converting it into an HTTP request.

The Self::Response associated type is the type that should be used to represent the response returned by the server.

Required Associated Constants§

Source

const METADATA: Metadata

The metadata for the request.

Required Associated Types§

Required Methods§

Source

fn try_into_http_request<T>( self, ctx: Context<'_>, ) -> Result<Request<T>, IntoHttpError>
where T: Default + BufMut,

Tries to convert the request into an HTTP request.

On endpoints requiring authentication, the token field in ctx should be provided. If not, the request will fail to convert.

§Arguments
  • ctx: The context for the request.
§Errors

This function will return an error if the request cannot be converted into an HTTP request.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Request for trakt_rs::api::auth::device_code::Request

Source§

impl Request for trakt_rs::api::auth::exchange::Request

Source§

impl Request for trakt_rs::api::auth::poll_token::Request

Source§

impl Request for trakt_rs::api::auth::revoke::Request

Source§

impl Request for trakt_rs::api::auth::token::Request

Source§

impl Request for trakt_rs::api::calendars::all::dvd_releases::Request

Source§

impl Request for trakt_rs::api::calendars::all::finales::Request

Source§

impl Request for trakt_rs::api::calendars::all::movies::Request

Source§

impl Request for trakt_rs::api::calendars::all::new_shows::Request

Source§

impl Request for trakt_rs::api::calendars::all::season_premiers::Request

Source§

impl Request for trakt_rs::api::calendars::my::dvd_releases::Request

Source§

impl Request for trakt_rs::api::calendars::my::finales::Request

Source§

impl Request for trakt_rs::api::calendars::my::movies::Request

Source§

impl Request for trakt_rs::api::calendars::my::new_shows::Request

Source§

impl Request for trakt_rs::api::calendars::my::season_premiers::Request

Source§

impl Request for trakt_rs::api::calendars::my::shows::Request

Source§

impl Request for trakt_rs::api::certifications::list::Request

Source§

impl Request for trakt_rs::api::checkin::delete::Request

Source§

impl Request for trakt_rs::api::comments::delete::Request

Source§

impl Request for trakt_rs::api::comments::get::Request

Source§

impl Request for trakt_rs::api::comments::get_replies::Request

Source§

impl Request for trakt_rs::api::comments::item::Request

Source§

impl Request for trakt_rs::api::comments::like::Request

Source§

impl Request for trakt_rs::api::comments::likes::Request

Source§

impl Request for trakt_rs::api::comments::post::Request

Source§

impl Request for trakt_rs::api::comments::post_reply::Request

Source§

impl Request for trakt_rs::api::comments::recent::Request

Source§

impl Request for trakt_rs::api::comments::recent_updated::Request

Source§

impl Request for trakt_rs::api::comments::remove_like::Request

Source§

impl Request for trakt_rs::api::comments::trending::Request

Source§

impl Request for trakt_rs::api::comments::update::Request

Source§

impl Request for trakt_rs::api::country::list::Request

Source§

impl Request for trakt_rs::api::genres::list::Request

Source§

impl Request for trakt_rs::api::movies::aliases::Request

Source§

impl Request for trakt_rs::api::movies::anticipated::Request

Source§

impl Request for trakt_rs::api::movies::boxoffice::Request

Source§

impl Request for trakt_rs::api::movies::collected::Request

Source§

impl Request for trakt_rs::api::movies::comments::Request

Source§

impl Request for trakt_rs::api::movies::favorited::Request

Source§

impl Request for trakt_rs::api::movies::people::Request

Source§

impl Request for trakt_rs::api::movies::played::Request

Source§

impl Request for trakt_rs::api::movies::popular::Request

Source§

impl Request for trakt_rs::api::movies::ratings::Request

Source§

impl Request for trakt_rs::api::movies::related::Request

Source§

impl Request for trakt_rs::api::movies::releases::Request

Source§

impl Request for trakt_rs::api::movies::stats::Request

Source§

impl Request for trakt_rs::api::movies::studio::Request

Source§

impl Request for trakt_rs::api::movies::summary::Request

Source§

impl Request for trakt_rs::api::movies::translations::Request

Source§

impl Request for trakt_rs::api::movies::trending::Request

Source§

impl Request for trakt_rs::api::movies::updates::Request

Source§

impl Request for trakt_rs::api::movies::updates_id::Request

Source§

impl Request for trakt_rs::api::movies::watched::Request

Source§

impl Request for trakt_rs::api::movies::watching::Request

Source§

impl Request for trakt_rs::api::search::id_lookup::Request

Source§

impl Request for trakt_rs::api::search::text_query::Request

Source§

impl Request for trakt_rs::api::shows::aliases::Request

Source§

impl Request for trakt_rs::api::shows::anticipated::Request

Source§

impl Request for trakt_rs::api::shows::certifications::Request

Source§

impl Request for trakt_rs::api::shows::collected::Request

Source§

impl Request for trakt_rs::api::shows::collection_progress::Request

Source§

impl Request for trakt_rs::api::shows::comments::Request

Source§

impl Request for trakt_rs::api::shows::favorited::Request

Source§

impl Request for trakt_rs::api::shows::last_episode::Request

Source§

impl Request for trakt_rs::api::shows::lists::Request

Source§

impl Request for trakt_rs::api::shows::next_episode::Request

Source§

impl Request for trakt_rs::api::shows::played::Request

Source§

impl Request for trakt_rs::api::shows::popular::Request

Source§

impl Request for trakt_rs::api::shows::ratings::Request

Source§

impl Request for trakt_rs::api::shows::related::Request

Source§

impl Request for trakt_rs::api::shows::reset::reset::Request

Source§

impl Request for trakt_rs::api::shows::reset::undo::Request

Source§

impl Request for trakt_rs::api::shows::stats::Request

Source§

impl Request for trakt_rs::api::shows::studio::Request

Source§

impl Request for trakt_rs::api::shows::summary::Request

Source§

impl Request for trakt_rs::api::shows::translation::Request

Source§

impl Request for trakt_rs::api::shows::trending::Request

Source§

impl Request for trakt_rs::api::shows::updates::Request

Source§

impl Request for trakt_rs::api::shows::updates_id::Request

Source§

impl Request for trakt_rs::api::shows::watched::Request

Source§

impl Request for trakt_rs::api::shows::watched_progress::Request

Source§

impl Request for trakt_rs::api::shows::watching::Request

Source§

impl<I: ScrobbleItem> Request for trakt_rs::api::scrobble::pause::Request<I>

Source§

impl<I: ScrobbleItem> Request for trakt_rs::api::scrobble::start::Request<I>

Source§

impl<I: ScrobbleItem> Request for trakt_rs::api::scrobble::stop::Request<I>

Source§

impl<I: Clone + CheckinItem> Request for trakt_rs::api::checkin::checkin::Request<I>