From 41ea1a605bac51c54d129591e3b17418fcf58843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20R=C4=85pa=C5=82a?= <sylwesterrapala@outlook.com> Date: Thu, 16 Jul 2020 14:33:21 +0200 Subject: [PATCH] Add auth-token flag. Group auth-token and certs into auth clap::ArgGroup --- examples/nats-box/main.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/examples/nats-box/main.rs b/examples/nats-box/main.rs index 3320ff1cc..a403d9539 100644 --- a/examples/nats-box/main.rs +++ b/examples/nats-box/main.rs @@ -1,17 +1,21 @@ use nats; use quicli::prelude::*; -use structopt::StructOpt; +use structopt::{clap::ArgGroup, StructOpt}; /// NATS utility that can perform basic publish, subscribe, request and reply functions. #[derive(Debug, StructOpt)] +#[structopt(group = ArgGroup::with_name("auth").required(false))] struct Cli { /// NATS server #[structopt(long, short, default_value = "demo.nats.io")] server: String, /// User Credentials File - #[structopt(long = "creds")] + #[structopt(long = "creds", group = "auth")] creds: Option<String>, + /// Server authorization token + #[structopt(long = "auth-token", group = "auth")] + auth_token: Option<String>, /// Command: pub, sub, request, reply #[structopt(subcommand)] @@ -36,6 +40,8 @@ fn main() -> CliResult { let opts = if let Some(creds_path) = args.creds { nats::Options::with_credentials(creds_path) + } else if let Some(token) = args.auth_token { + nats::Options::with_token(&token) } else { nats::Options::new() };