Add argument parsing
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
parent
0cba90dd68
commit
6074db176a
2 changed files with 18 additions and 1 deletions
|
@ -7,6 +7,7 @@ authors = ["Maxime “pep” Buquet <pep@bouah.net>"]
|
||||||
license = "AGPL-3.0+"
|
license = "AGPL-3.0+"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
clap = { version = "4.3", features = [ "cargo", "derive" ] }
|
||||||
gitlab = "0.1511.0"
|
gitlab = "0.1511.0"
|
||||||
hyper = { version = "0.14", features = [ "full" ] }
|
hyper = { version = "0.14", features = [ "full" ] }
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
|
|
18
src/main.rs
18
src/main.rs
|
@ -28,16 +28,32 @@ use std::convert::Infallible;
|
||||||
use std::net::SocketAddr;
|
use std::net::SocketAddr;
|
||||||
use std::sync::{Arc, Mutex};
|
use std::sync::{Arc, Mutex};
|
||||||
|
|
||||||
|
use clap::Parser;
|
||||||
use hyper::{
|
use hyper::{
|
||||||
service::{make_service_fn, service_fn},
|
service::{make_service_fn, service_fn},
|
||||||
Server,
|
Server,
|
||||||
};
|
};
|
||||||
use tokio::sync::mpsc;
|
use tokio::sync::mpsc;
|
||||||
|
use xmpp_parsers::BareJid;
|
||||||
|
|
||||||
|
#[derive(Parser, Debug)]
|
||||||
|
#[command(author, version, about, long_about = None)]
|
||||||
|
struct Args {
|
||||||
|
/// Account address
|
||||||
|
#[arg(short, long)]
|
||||||
|
jid: BareJid,
|
||||||
|
|
||||||
|
/// Account password
|
||||||
|
#[arg(short, long)]
|
||||||
|
password: String,
|
||||||
|
}
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
pretty_env_logger::init();
|
pretty_env_logger::init();
|
||||||
|
|
||||||
|
let args = Args::parse();
|
||||||
|
|
||||||
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
|
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
|
||||||
let (value_tx, mut value_rx) = mpsc::unbounded_channel::<WebHook>();
|
let (value_tx, mut value_rx) = mpsc::unbounded_channel::<WebHook>();
|
||||||
let value_tx = Arc::new(Mutex::new(value_tx));
|
let value_tx = Arc::new(Mutex::new(value_tx));
|
||||||
|
@ -54,7 +70,7 @@ async fn main() {
|
||||||
println!("Listening on http://{}", addr);
|
println!("Listening on http://{}", addr);
|
||||||
|
|
||||||
let _join = tokio::spawn(server);
|
let _join = tokio::spawn(server);
|
||||||
let mut client = XmppClient::new("JID", "PASSWD");
|
let mut client = XmppClient::new(&String::from(args.jid), args.password.as_str());
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
tokio::select! {
|
tokio::select! {
|
||||||
|
|
Loading…
Reference in a new issue