blob: d7fdf3de964af99a01b991ade671a2b938281e80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
use crate::{
error::Error,
wire::{Request, Response},
GameIf,
};
use std::sync::Arc;
/// Parse a request and call a game interface function for it
pub async fn request(req: Request, game: Arc<impl GameIf>) -> Response {
use Request::*;
match req {
Register(name, pw) => super::register(game.register(name, pw).await),
Login(name, pw_hash) => super::login(game.login(name, pw_hash).await),
Logout(user) => super::logout(game.logout(user).await),
_ => super::invalid(),
}
}
|