Skip to main content

ftnet_sdk/
lib.rs

1/// our fastn identity service can tell us to modify the request in some ways
2/// TODO: make this smallvec to reduce heap allocations
3pub type RequestPatch = Vec<RequestPatchItem>;
4
5#[derive(Debug, serde::Serialize, serde::Deserialize)]
6pub enum RequestPatchItem {
7    AddHeader { name: String, value: String },
8    DeleteHeader { name: String },
9    AddCookie { name: String, value: String },
10    DeleteCookie { name: String },
11}
12
13#[derive(Debug, serde::Serialize, serde::Deserialize)]
14pub enum WhatToDo {
15    ForwardToPeer {
16        peer_id: String,
17        patch: RequestPatch,
18    },
19    ProxyPass {
20        port: u16,
21        extra_headers: RequestPatch,
22    },
23    UnknownPeer,
24}