Skip to main content

scouter_types/
http.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize)]
4pub struct JwtToken {
5    pub token: String,
6}
7
8#[derive(Debug, Clone)]
9pub enum RequestType {
10    Get,
11    Post,
12    Put,
13    Delete,
14}
15
16#[derive(Debug, Clone)]
17pub enum Routes {
18    AuthLogin,
19    AuthRefresh,
20    Drift,
21    SpcDrift,
22    PsiDrift,
23    CustomDrift,
24    GenAITaskDrift,
25    GenAIWorkflowDrift,
26    Profile,
27    ProfileStatus,
28    Alerts,
29    DownloadProfile,
30    Healthcheck,
31    Message,
32    PaginatedTraces,
33    TraceBaggage,
34    TraceSpans,
35    TraceSpanTags,
36    RefreshTraceSummary,
37    TraceMetrics,
38    Tags,
39}
40
41impl Routes {
42    pub fn as_str(&self) -> &str {
43        match self {
44            Routes::AuthLogin => "auth/login",
45            Routes::AuthRefresh => "auth/refresh",
46            Routes::Profile => "profile",
47            Routes::Drift => "drift",
48            Routes::SpcDrift => "drift/spc",
49            Routes::PsiDrift => "drift/psi",
50            Routes::CustomDrift => "drift/custom",
51            Routes::GenAITaskDrift => "drift/genai/task",
52            Routes::GenAIWorkflowDrift => "drift/genai/workflow",
53            Routes::ProfileStatus => "profile/status",
54            Routes::DownloadProfile => "profile/download",
55            Routes::Alerts => "alerts",
56            Routes::Healthcheck => "healthcheck",
57            Routes::Message => "message",
58            Routes::PaginatedTraces => "trace/paginated",
59            Routes::TraceBaggage => "trace/baggage",
60            Routes::TraceSpans => "trace/spans",
61            Routes::TraceSpanTags => "trace/spans/tags",
62            Routes::RefreshTraceSummary => "trace/refresh-summary",
63            Routes::TraceMetrics => "trace/metrics",
64            Routes::Tags => "tags",
65        }
66    }
67}