Files
tuliprox/backend/src/model/config/reverse_proxy.rs
T
euzu 3c3c8df763 Added GeoIp config and update button to WebUI
Integrated GeoIp to stream Table
Fixed some HdHomerun issues
2025-10-28 18:42:09 +01:00

42 lines
1.5 KiB
Rust

use shared::model::ReverseProxyConfigDto;
use crate::model::config::cache::CacheConfig;
use crate::model::{macros, GeoIpConfig, RateLimitConfig, StreamConfig};
#[derive(Debug, Clone)]
pub struct ReverseProxyConfig {
pub resource_rewrite_disabled: bool,
pub disable_referer_header: bool,
pub stream: Option<StreamConfig>,
pub cache: Option<CacheConfig>,
pub rate_limit: Option<RateLimitConfig>,
pub geoip: Option<GeoIpConfig>,
}
macros::from_impl!(ReverseProxyConfig);
impl From<&ReverseProxyConfigDto> for ReverseProxyConfig {
fn from(dto: &ReverseProxyConfigDto) -> Self {
Self {
resource_rewrite_disabled: dto.resource_rewrite_disabled,
disable_referer_header: dto.disable_referer_header,
stream: dto.stream.as_ref().map(Into::into),
cache: dto.cache.as_ref().map(Into::into),
rate_limit: dto.rate_limit.as_ref().map(Into::into),
geoip: dto.geoip.as_ref().map(Into::into),
}
}
}
impl From<&ReverseProxyConfig> for ReverseProxyConfigDto {
fn from(instance: &ReverseProxyConfig) -> Self {
Self {
resource_rewrite_disabled: instance.resource_rewrite_disabled,
disable_referer_header: instance.disable_referer_header,
stream: instance.stream.as_ref().map(Into::into),
cache: instance.cache.as_ref().map(Into::into),
rate_limit: instance.rate_limit.as_ref().map(Into::into),
geoip: instance.geoip.as_ref().map(Into::into),
}
}
}