rp_supabase_functions/
error.rs1use reqwest::StatusCode;
2
3#[derive(Debug, thiserror::Error)]
5pub enum FunctionsError {
6 #[error(
8 "invalid function name {0:?}: it must be non-empty, must not be '.' or '..', and must not contain '/', tab, CR, or LF"
9 )]
10 InvalidFunctionName(String),
11 #[error("invalid project URL: {0}")]
13 Url(#[from] url::ParseError),
14 #[error("project URL cannot be a base URL")]
16 UrlNotBase,
17 #[error("invalid header name: {0}")]
19 HeaderName(#[from] reqwest::header::InvalidHeaderName),
20 #[error("invalid header value: {0}")]
22 HeaderValue(#[from] reqwest::header::InvalidHeaderValue),
23 #[error("failed to serialize request body: {0}")]
25 Serialize(#[source] serde_json::Error),
26 #[error("transport error: {0}")]
28 Transport(#[from] reqwest::Error),
29 #[error("relay error {status}: {body}")]
31 Relay {
32 status: StatusCode,
34 body: String,
36 },
37 #[error("function returned {status}: {body}")]
39 Http {
40 status: StatusCode,
42 body: String,
44 },
45 #[error("failed to decode response body: {0}")]
47 Decode(#[source] serde_json::Error),
48}