summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDaniel McCarney <daniel@binaryparadox.net>2024-01-03 12:46:17 -0500
committerDaniel McCarney <daniel@binaryparadox.net>2024-01-04 13:41:11 +0000
commitba97712be2e9654c3f609737218df74441c1e254 (patch)
treea7f1b7fdcce90dd2ecc0edc1a1f8e5e68b775093 /examples
parentf0934452ca6541145de53dfb0606194b1a70d5d3 (diff)
examples: use CLI args vs env vars in simpleserver
Diffstat (limited to 'examples')
-rw-r--r--examples/src/bin/simpleserver.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/examples/src/bin/simpleserver.rs b/examples/src/bin/simpleserver.rs
index 050234ac..cf30e84d 100644
--- a/examples/src/bin/simpleserver.rs
+++ b/examples/src/bin/simpleserver.rs
@@ -9,27 +9,27 @@
//! Note that `unwrap()` is used to deal with networking errors; this is not something
//! that is sensible outside of example code.
+use std::env;
use std::error::Error as StdError;
use std::fs::File;
use std::io::{BufReader, Read, Write};
use std::net::TcpListener;
use std::sync::Arc;
-const CERTFILE: &str = match option_env!("CERTFILE") {
- Some(certfile) => certfile,
- None => "localhost.pem",
-};
-
-const PRIV_KEY_FILE: &str = match option_env!("PRIV_KEY_FILE") {
- Some(priv_key_file) => priv_key_file,
- None => "localhost-key.pem",
-};
-
fn main() -> Result<(), Box<dyn StdError>> {
- let certs = rustls_pemfile::certs(&mut BufReader::new(&mut File::open(CERTFILE)?))
+ let mut args = env::args();
+ let cert_file = args
+ .next()
+ .expect("missing certificate file argument");
+ let private_key_file = args
+ .next()
+ .expect("missing private key file argument");
+
+ let certs = rustls_pemfile::certs(&mut BufReader::new(&mut File::open(cert_file)?))
.collect::<Result<Vec<_>, _>>()?;
let private_key =
- rustls_pemfile::private_key(&mut BufReader::new(&mut File::open(PRIV_KEY_FILE)?))?.unwrap();
+ rustls_pemfile::private_key(&mut BufReader::new(&mut File::open(private_key_file)?))?
+ .unwrap();
let config = rustls::ServerConfig::builder()
.with_no_client_auth()
.with_single_cert(certs, private_key)?;