better_web_view/routing/
messages.rs

1use serde_json::Value;
2use serde::{Serialize, Deserialize};
3
4/// The type of an incoming javascript request
5#[derive(Deserialize, Debug)]
6pub struct Request {
7    pub hash: String,
8    pub route: String,
9    pub data: Value
10}
11
12/// A response to javascript
13#[derive(Serialize, Debug)]
14pub struct Response {
15    hash: String,
16    data: Result<Value, String>
17}
18
19impl Response {
20    pub fn new(hash: String) -> Response {
21        Response {
22            hash,
23            data: Ok(Value::Null)
24        }
25    }
26
27    /// Successful
28    pub fn data(&mut self, val: Value) {
29        self.data = Ok(val);
30    }
31
32    // Err
33    pub fn err(&mut self, err: String) {
34        self.data = Err(err);
35    }
36}