@@ -83,6 +83,9 @@ pub struct Opt {
8383 /// Disable validating of certificates when connecting to the nextcloud instance
8484 #[ clap( long) ]
8585 pub allow_self_signed : bool ,
86+ /// The user agent to use when connecting to the nextcloud instance
87+ #[ clap( long) ]
88+ pub user_agent : Option < String > ,
8689 /// The path to the nextcloud config file
8790 #[ clap( name = "CONFIG_FILE" ) ]
8891 pub config_file : Option < PathBuf > ,
@@ -125,6 +128,7 @@ pub struct Config {
125128 pub log_level : String ,
126129 pub bind : Bind ,
127130 pub allow_self_signed : bool ,
131+ pub user_agent : Option < String > ,
128132 pub no_ansi : bool ,
129133 pub tls : Option < TlsConfig > ,
130134 pub max_debounce_time : usize ,
@@ -225,6 +229,7 @@ impl TryFrom<PartialConfig> for Config {
225229 log_level : config. log_level . unwrap_or_else ( || String :: from ( "warn" ) ) ,
226230 bind,
227231 allow_self_signed : config. allow_self_signed . unwrap_or ( false ) ,
232+ user_agent : config. user_agent ,
228233 no_ansi : config. no_ansi . unwrap_or ( false ) ,
229234 tls : config. tls ,
230235 max_debounce_time : config. max_debounce_time . unwrap_or ( 15 ) ,
@@ -262,6 +267,7 @@ struct PartialConfig {
262267 pub socket : Option < PathBuf > ,
263268 pub socket_permissions : Option < String > ,
264269 pub allow_self_signed : Option < bool > ,
270+ pub user_agent : Option < String > ,
265271 pub no_ansi : Option < bool > ,
266272 pub tls : Option < TlsConfig > ,
267273 pub max_debounce_time : Option < usize > ,
@@ -288,6 +294,7 @@ impl PartialConfig {
288294 let socket = var ( "SOCKET_PATH" ) . map ( PathBuf :: from) . ok ( ) ;
289295 let socket_permissions = var ( "SOCKET_PERMISSIONS" ) . ok ( ) ;
290296 let allow_self_signed = var ( "ALLOW_SELF_SIGNED" ) . map ( |val| val == "true" ) . ok ( ) ;
297+ let user_agent = var ( "USER_AGENT" ) . ok ( ) ;
291298 let no_ansi = var ( "NO_ANSI" ) . map ( |val| val == "true" ) . ok ( ) ;
292299
293300 let tls_cert = parse_var ( "TLS_CERT" ) ?;
@@ -340,6 +347,7 @@ impl PartialConfig {
340347 socket,
341348 socket_permissions,
342349 allow_self_signed,
350+ user_agent,
343351 no_ansi,
344352 tls,
345353 max_debounce_time,
@@ -431,6 +439,7 @@ impl PartialConfig {
431439 } else {
432440 None
433441 } ,
442+ user_agent : opt. user_agent ,
434443 no_ansi : if opt. no_ansi { Some ( true ) } else { None } ,
435444 tls,
436445 max_debounce_time : opt. max_debounce_time ,
@@ -456,6 +465,7 @@ impl PartialConfig {
456465 socket : self . socket . or ( fallback. socket ) ,
457466 socket_permissions : self . socket_permissions . or ( fallback. socket_permissions ) ,
458467 allow_self_signed : self . allow_self_signed . or ( fallback. allow_self_signed ) ,
468+ user_agent : self . user_agent . or ( fallback. user_agent ) ,
459469 no_ansi : self . no_ansi . or ( fallback. no_ansi ) ,
460470 tls : self . tls . or ( fallback. tls ) ,
461471 max_debounce_time : self . max_debounce_time . or ( fallback. max_debounce_time ) ,
0 commit comments