erebus_sdk_rust/
types.rs

1use serde::{Deserialize, Serialize};
2
3pub const HANDSHAKE_TOKEN: [u8; 32] = [
4    101, 114, 101, 98, 117, 115, 119, 105, 115, 112, 101, 114, 115, 102, 105,
5    110, 100, 103, 114, 97, 115, 112, 100, 101, 101, 112, 119, 105, 116, 104, 105, 110,
6];
7
8#[derive(Serialize, Deserialize, Debug)]
9pub enum ErebusRequestType {
10    #[serde(rename = "auth")]
11    Authenticate,
12    #[serde(rename = "obj")]
13    ObjectCache,
14    #[serde(rename = "url")]
15    UrlCache,
16}
17
18#[derive(Serialize, Deserialize, Debug)]
19pub struct ObjectCacheRequest {
20    pub name: String,
21    pub tags: Vec<String>,
22    pub body: Option<String>,
23}
24
25#[derive(Serialize, Deserialize, Debug)]
26pub struct ObjectCacheResponse {
27    pub body: Option<String>,
28}
29
30#[derive(Serialize, Deserialize, Debug)]
31pub struct UrlCacheRequest {
32    pub method: String,
33    pub url: String,
34    pub headers: Vec<(String, String)>,
35    pub body: Option<String>,
36}
37
38#[derive(Serialize, Deserialize, Debug)]
39pub enum ErebusPackedRequest {
40    #[serde(rename = "auth")]
41    Authenticate(Vec<u8>),
42    #[serde(rename = "obj")]
43    ObjectCache(ObjectCacheRequest),
44    #[serde(rename = "url")]
45    UrlCache(UrlCacheRequest),
46}
47
48#[derive(Serialize, Deserialize, Debug)]
49pub enum ErebusResponse {
50    Proceed,
51    Error(String),
52    Success(Vec<u8>),
53}
54
55pub type UrlCacheResponse = (u16, std::collections::HashMap<String, String>, String);