wip: implemented backend

This commit is contained in:
Jun Kurihara 2023-11-24 17:57:33 +09:00
commit 3c6e4e5757
No known key found for this signature in database
GPG key ID: 48ADFD173ED22B03
16 changed files with 1173 additions and 23 deletions

View file

@ -0,0 +1,22 @@
use crate::error::*;
#[derive(Debug, Clone, Hash, Eq, PartialEq)]
pub enum UpstreamOption {
OverrideHost,
UpgradeInsecureRequests,
ForceHttp11Upstream,
ForceHttp2Upstream,
// TODO: Adds more options for heder override
}
impl TryFrom<&str> for UpstreamOption {
type Error = RpxyError;
fn try_from(val: &str) -> RpxyResult<Self> {
match val {
"override_host" => Ok(Self::OverrideHost),
"upgrade_insecure_requests" => Ok(Self::UpgradeInsecureRequests),
"force_http11_upstream" => Ok(Self::ForceHttp11Upstream),
"force_http2_upstream" => Ok(Self::ForceHttp2Upstream),
_ => Err(RpxyError::UnsupportedUpstreamOption),
}
}
}