Skip to content

Commit e07609c

Browse files
authored
Merge pull request #49 from vi/optional_tls
Make TLS support optional
2 parents 3b26eae + 160a812 commit e07609c

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

Cargo.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ flate2 = "1.0.11"
1919
filetime = "0.2.7"
2020
pretty-bytes = "0.2.2"
2121
url = "2.1.0"
22-
hyper-native-tls = "0.3.0"
22+
hyper-native-tls = {version = "0.3.0", optional=true}
2323
mime_guess = "2.0"
2424
open = "1"
2525
# Iron crates
@@ -29,3 +29,7 @@ multipart = { version = "0.16.1", features = ["iron"] }
2929
htmlescape = "0.3.1"
3030
percent-encoding = "2.1.0"
3131
path-dedot = "1"
32+
33+
[features]
34+
default = ["tls"]
35+
tls = ["hyper-native-tls"]

src/main.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,13 +345,28 @@ fn main() {
345345
}
346346
let mut server = Iron::new(chain);
347347
server.threads = threads as usize;
348+
349+
#[cfg(feature = "tls")]
348350
let rv = if let Some(cert) = cert {
349351
use hyper_native_tls::NativeTlsServer;
350352
let ssl = NativeTlsServer::new(cert, certpass.unwrap_or("")).unwrap();
351353
server.https(&addr, ssl)
352354
} else {
353355
server.http(&addr)
354356
};
357+
#[cfg(not(feature = "tls"))]
358+
let rv = if cert.is_some() {
359+
printer
360+
.println_err(
361+
"{}: TLS support is not enabled during compilation of simple-http-server",
362+
&[("ERROR", &Some(build_spec(Some(Color::Red), true)))],
363+
)
364+
.unwrap();
365+
std::process::exit(1)
366+
} else {
367+
server.http(&addr)
368+
};
369+
355370
if let Err(e) = rv {
356371
printer
357372
.println_err(

0 commit comments

Comments
 (0)