1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use std::borrow::Cow;

use reqwest::Request;
use serde::de::DeserializeOwned;
use url::Url;

pub trait LobbyRequest: Sync + Send + 'static {
    type Response: DeserializeOwned + Sync + Send + 'static;
}

pub(super) trait LobbyRequestCreator: LobbyRequest {
    fn path(&self) -> Cow<str>;

    fn create(&self, url: Url) -> Request;
}