noosphere_ns/server/
routes.rs1use std::fmt::Display;
2
3pub const API_VERSION: &str = "v0alpha1";
4
5pub enum Route {
6 NetworkInfo,
7 GetPeerId,
8
9 GetPeers,
10 AddPeers,
11
12 Listen,
13 StopListening,
14 Address,
15
16 GetRecord,
17 PostRecord,
18
19 Bootstrap,
20}
21
22impl Display for Route {
23 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
24 let fragment = match self {
25 Route::NetworkInfo => "network_info",
26 Route::GetPeerId => "peer_id",
27
28 Route::GetPeers => "peers",
29 Route::AddPeers => "peers/*addr",
30
31 Route::Listen => "listen/*addr",
32 Route::StopListening => "listen",
33 Route::Address => "addresses",
34
35 Route::GetRecord => "records/:identity",
36 Route::PostRecord => "records",
37
38 Route::Bootstrap => "bootstrap",
39 };
40
41 write!(f, "/api/{API_VERSION}/{fragment}")
42 }
43}