Skip to main content

nil_client/client/
round.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use super::Client;
5use crate::error::Result;
6use crate::http;
7use nil_payload::request::round::*;
8use nil_payload::response::round::*;
9
10impl Client {
11  /// Endpoint: `PUT /get-round`
12  pub async fn get_round(&self, req: GetRoundRequest) -> Result<GetRoundResponse> {
13    http::json_put("get-round")
14      .body(req)
15      .server(self.server)
16      .circuit_breaker(self.circuit_breaker())
17      .retry(&self.retry)
18      .user_agent(&self.user_agent)
19      .send()
20      .await
21  }
22
23  /// Endpoint: `POST /set-player-ready`
24  pub async fn set_player_ready(
25    &self,
26    req: SetPlayerReadyRequest,
27  ) -> Result<SetPlayerReadyResponse> {
28    http::json_post("set-player-ready")
29      .body(req)
30      .server(self.server)
31      .maybe_authorization(self.authorization.as_ref())
32      .circuit_breaker(self.circuit_breaker())
33      .user_agent(&self.user_agent)
34      .send()
35      .await
36  }
37
38  /// Endpoint: `POST /start-round`
39  pub async fn start_round(&self, req: StartRoundRequest) -> Result<StartRoundResponse> {
40    http::json_post("start-round")
41      .body(req)
42      .server(self.server)
43      .maybe_authorization(self.authorization.as_ref())
44      .circuit_breaker(self.circuit_breaker())
45      .user_agent(&self.user_agent)
46      .send()
47      .await
48  }
49}