mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-15 12:22:18 +02:00
refactored unwrap calls to make it more stable
This commit is contained in:
@@ -77,8 +77,7 @@ impl FromStr for ProxyType {
|
||||
return Ok(Self::Reverse(None));
|
||||
}
|
||||
|
||||
if s.starts_with(Self::REVERSE) {
|
||||
let suffix = s.strip_prefix(Self::REVERSE).unwrap();
|
||||
if let Some(suffix) = s.strip_prefix(Self::REVERSE) {
|
||||
if let Ok(force_redirect) = ClusterFlags::try_from(suffix) {
|
||||
if force_redirect.has_full_flags() {
|
||||
return Ok(ProxyType::Reverse(None));
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
use crate::error::{TuliproxError, TuliproxErrorKind};
|
||||
use crate::model::{ConfigApiDto, HdHomeRunConfigDto, IpCheckConfigDto, LogConfigDto,
|
||||
MessagingConfigDto, ProxyConfigDto, ReverseProxyConfigDto, ScheduleConfigDto,
|
||||
VideoConfigDto, WebUiConfigDto};
|
||||
use crate::model::{ConfigApiDto, HdHomeRunConfigDto, IpCheckConfigDto, LogConfigDto, MessagingConfigDto, ProxyConfigDto, ReverseProxyConfigDto, ScheduleConfigDto, VideoConfigDto, WebUiConfigDto, DEFAULT_VIDEO_EXTENSIONS};
|
||||
use crate::utils::default_connect_timeout_secs;
|
||||
|
||||
pub const DEFAULT_USER_AGENT: &str = "VLC/3.0.16 LibVLC/3.0.16";
|
||||
@@ -103,7 +101,7 @@ impl ConfigDto {
|
||||
match &mut self.video {
|
||||
None => {
|
||||
self.video = Some(VideoConfigDto {
|
||||
extensions: vec!["mkv".to_string(), "avi".to_string(), "mp4".to_string()],
|
||||
extensions: DEFAULT_VIDEO_EXTENSIONS.iter().map(ToString::to_string).collect(),
|
||||
download: None,
|
||||
web_search: None,
|
||||
});
|
||||
|
||||
@@ -20,14 +20,14 @@ impl CacheConfigDto {
|
||||
pub(crate) fn prepare(&mut self, working_dir: &str) -> Result<(), TuliproxError> {
|
||||
if self.enabled {
|
||||
let work_path = PathBuf::from(working_dir);
|
||||
if self.dir.is_none() {
|
||||
self.dir = Some(work_path.join("cache").to_string_lossy().to_string());
|
||||
} else {
|
||||
let mut cache_dir = self.dir.as_ref().unwrap().to_string();
|
||||
if PathBuf::from(&cache_dir).is_relative() {
|
||||
cache_dir = work_path.join(&cache_dir).clean().to_string_lossy().to_string();
|
||||
}
|
||||
self.dir = Some(cache_dir.to_string());
|
||||
match self.dir.as_ref() {
|
||||
None => self.dir = Some(work_path.join("cache").to_string_lossy().to_string()),
|
||||
Some(work_dir) => {
|
||||
let mut cache_dir = work_dir.to_string();
|
||||
if PathBuf::from(&cache_dir).is_relative() {
|
||||
cache_dir = work_path.join(&cache_dir).clean().to_string_lossy().to_string();
|
||||
}
|
||||
self.dir = Some(cache_dir.to_string()); }
|
||||
}
|
||||
|
||||
if let Some(val) = self.size.as_ref() {
|
||||
|
||||
@@ -4,6 +4,8 @@ use crate::create_tuliprox_error_result;
|
||||
use crate::error::{TuliproxError, TuliproxErrorKind};
|
||||
use crate::model::DEFAULT_USER_AGENT;
|
||||
|
||||
pub const DEFAULT_VIDEO_EXTENSIONS: [&str; 6] = ["mkv", "avi", "mp4", "mpeg", "divx", "mov"];
|
||||
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, Default, PartialEq)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct VideoDownloadConfigDto {
|
||||
@@ -35,7 +37,7 @@ impl VideoConfigDto {
|
||||
/// Will panic if default `RegEx` gets invalid
|
||||
pub fn prepare(&mut self) -> Result<(), TuliproxError> {
|
||||
if self.extensions.is_empty() {
|
||||
self.extensions = ["mkv", "avi", "mp4", "mpeg", "divx", "mov"]
|
||||
self.extensions = DEFAULT_VIDEO_EXTENSIONS
|
||||
.iter()
|
||||
.map(|&arg| arg.to_string())
|
||||
.collect();
|
||||
|
||||
Reference in New Issue
Block a user