mirror of https://github.com/http-rs/tide-rustls
with tide 0.14 we don't even need h1-server
This commit is contained in:
parent
253c920f20
commit
e902df1040
|
@ -12,12 +12,9 @@ keywords = ["tide", "https", "tls"]
|
||||||
categories = ["web-programming::http-server", "web-programming"]
|
categories = ["web-programming::http-server", "web-programming"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
async-std = { version = "1.6.2", features = ["attributes"] }
|
async-std = "1.6.5"
|
||||||
tide = { version = "0.13.0", default-features = false, features = ["h1-server"] }
|
tide = { version = "0.14.0", default-features = false }
|
||||||
async-tls = "0.9.0"
|
async-tls = "0.9.0"
|
||||||
rustls = "0.18.0"
|
rustls = "0.18.0"
|
||||||
async-h1 = "2.1.0"
|
async-h1 = "2.1.0"
|
||||||
async-dup = "1.2.1"
|
async-dup = "1.2.1"
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
tide = { version = "0.13.0" }
|
|
||||||
|
|
|
@ -2,41 +2,40 @@ use std::env;
|
||||||
use tide::prelude::*;
|
use tide::prelude::*;
|
||||||
use tide_rustls::TlsListener;
|
use tide_rustls::TlsListener;
|
||||||
|
|
||||||
async fn endpoint(req: tide::Request<()>) -> tide::Result {
|
async fn endpoint(req: tide::Request<()>) -> tide::Result<impl Into<tide::Response>> {
|
||||||
Ok(json!({
|
Ok(json!({
|
||||||
"localAddr": req.local_addr().unwrap_or("[unknown]"),
|
"localAddr": req.local_addr().unwrap_or("[unknown]"),
|
||||||
"method": req.method().to_string(),
|
"method": req.method().to_string(),
|
||||||
"url": req.url().to_string()
|
"url": req.url().to_string()
|
||||||
})
|
}))
|
||||||
.into())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[async_std::main]
|
fn main() -> std::io::Result<()> {
|
||||||
async fn main() -> std::io::Result<()> {
|
async_std::task::block_on(async {
|
||||||
let mut app = tide::new();
|
let mut app = tide::new();
|
||||||
app.at("*").all(endpoint);
|
app.at("*").all(endpoint);
|
||||||
app.at("/").all(endpoint);
|
app.at("/").all(endpoint);
|
||||||
|
|
||||||
if let (Ok(cert), Ok(key)) = (env::var("TIDE_CERT"), env::var("TIDE_KEY")) {
|
if let (Ok(cert), Ok(key)) = (env::var("TIDE_CERT"), env::var("TIDE_KEY")) {
|
||||||
tide::log::with_level(tide::log::LevelFilter::Info);
|
app.listen(
|
||||||
app.listen(
|
TlsListener::build()
|
||||||
TlsListener::build()
|
.addrs("localhost:4433")
|
||||||
.addrs("localhost:4433")
|
.cert(cert)
|
||||||
.cert(cert)
|
.key(key),
|
||||||
.key(key),
|
)
|
||||||
)
|
.await?;
|
||||||
.await?;
|
} else {
|
||||||
} else {
|
eprintln!(
|
||||||
eprintln!(
|
"
|
||||||
"
|
|
||||||
To run this app locally:
|
To run this app locally:
|
||||||
* install https://github.com/FiloSottile/mkcert
|
* install https://github.com/FiloSottile/mkcert
|
||||||
* $ mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
|
* $ mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
|
||||||
* $ env TIDE_CERT=cert.pem TIDE_KEY=key.pem cargo run --example hello_tls
|
* $ env TIDE_CERT=cert.pem TIDE_KEY=key.pem cargo run --example hello_tls
|
||||||
* $ curl -v https://localhost:4433/secure
|
* $ curl -v https://localhost:4433/secure
|
||||||
"
|
"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue