moq_transport/serve/
error.rs1#[derive(thiserror::Error, Debug, Clone, PartialEq)]
2pub enum ServeError {
3 #[error("done")]
5 Done,
6
7 #[error("cancelled")]
8 Cancel,
9
10 #[error("closed, code={0}")]
11 Closed(u64),
12
13 #[error("not found")]
14 NotFound,
15
16 #[error("duplicate")]
17 Duplicate,
18
19 #[error("multiple stream modes")]
20 Mode,
21
22 #[error("wrong size")]
23 Size,
24
25 #[error("internal error: {0}")]
26 Internal(String),
27}
28
29impl ServeError {
30 pub fn code(&self) -> u64 {
31 match self {
32 Self::Done => 0,
33 Self::Cancel => 1,
34 Self::Closed(code) => *code,
35 Self::NotFound => 404,
36 Self::Duplicate => 409,
37 Self::Mode => 400,
38 Self::Size => 413,
39 Self::Internal(_) => 500,
40 }
41 }
42}