diff options
| author | Fuwn <[email protected]> | 2022-03-30 21:31:03 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-03-30 21:31:03 +0000 |
| commit | 53020cb3717f4d2e88ce69ecfcb79b573b5cda7d (patch) | |
| tree | 93135407e2886cda4d35f598fd7375232df8ffc9 | |
| parent | feat(router): specify custom port (diff) | |
| download | windmark-53020cb3717f4d2e88ce69ecfcb79b573b5cda7d.tar.xz windmark-53020cb3717f4d2e88ce69ecfcb79b573b5cda7d.zip | |
fix(router): use different certificate file
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | examples/windmark.rs | 2 | ||||
| -rw-r--r-- | src/lib.rs | 48 |
4 files changed, 29 insertions, 29 deletions
@@ -2,7 +2,7 @@ [package] name = "windmark" -version = "0.1.4" +version = "0.1.5" authors = ["Fuwn <[email protected]>"] edition = "2021" description = "An elegant and highly performant async Gemini server framework" @@ -14,11 +14,11 @@ Windmark is an elegant and highly performant, async Gemini server framework. # Cargo.toml [dependencies] -windmark = "0.1.4" +windmark = "0.1.5" tokio = { version = "0.2.4", features = ["full"] } # If you would like to use the built-in logger (recommended) -# windmark = { version = "0.1.4", features = ["logger"] } +# windmark = { version = "0.1.5", features = ["logger"] } ``` ### Implement a Windmark server @@ -32,7 +32,7 @@ use windmark::Response; fn main() -> Result<(), Box<dyn std::error::Error>> { windmark::Router::new() .set_private_key_file("windmark_private.pem") - .set_certificate_chain_file("windmark_pair.pem") + .set_certificate_chain_file("windmark_public.pem") .mount("/", Box::new(|_| Response::Success("Hello, World!".into()))) .set_error_handler(Box::new(|_| { Response::PermanentFailure("This route does not exist!".into()) diff --git a/examples/windmark.rs b/examples/windmark.rs index 251859f..93eccce 100644 --- a/examples/windmark.rs +++ b/examples/windmark.rs @@ -29,7 +29,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { windmark::Router::new() .set_private_key_file("windmark_private.pem") - .set_certificate_chain_file("windmark_pair.pem") + .set_certificate_file("windmark_public.pem") .enable_default_logger(true) .set_error_handler(Box::new(move |_| { error_count += 1; @@ -32,11 +32,11 @@ //! # Cargo.toml //! //! [dependencies] -//! windmark = "0.1.4" +//! windmark = "0.1.5" //! tokio = { version = "0.2.4", features = ["full"] } //! //! # If you would like to use the built-in logger (recommended) -//! # windmark = { version = "0.1.4", features = ["logger"] } +//! # windmark = { version = "0.1.5", features = ["logger"] } //! ``` //! //! ### Implement a Windmark server @@ -50,7 +50,7 @@ //! fn main() -> Result<(), Box<dyn std::error::Error>> { //! windmark::Router::new() //! .set_private_key_file("windmark_private.pem") -//! .set_certificate_chain_file("windmark_pair.pem") +//! .set_certificate_file("windmark_public.pem") //! .mount("/", Box::new(|_| Response::Success("Hello, World!".into()))) //! .set_error_handler(Box::new(|_| { //! Response::PermanentFailure("This route does not exist!".into()) @@ -114,20 +114,20 @@ use crate::{ /// response generation, panics, logging, and more. #[derive(Clone)] pub struct Router { - routes: matchit::Router<Arc<Mutex<RouteResponse>>>, - error_handler: Arc<Mutex<ErrorResponse>>, + routes: matchit::Router<Arc<Mutex<RouteResponse>>>, + error_handler: Arc<Mutex<ErrorResponse>>, private_key_file_name: String, - certificate_chain_file_name: String, - header: Arc<Mutex<Partial>>, - footer: Arc<Mutex<Partial>>, - ssl_acceptor: Arc<SslAcceptor>, + ca_file_name: String, + header: Arc<Mutex<Partial>>, + footer: Arc<Mutex<Partial>>, + ssl_acceptor: Arc<SslAcceptor>, #[cfg(feature = "logger")] - default_logger: bool, - pre_route_callback: Arc<Mutex<Callback>>, - post_route_callback: Arc<Mutex<Callback>>, - charset: String, - language: String, - port: i32, + default_logger: bool, + pre_route_callback: Arc<Mutex<Callback>>, + post_route_callback: Arc<Mutex<Callback>>, + charset: String, + language: String, + port: i32, } impl Router { /// Create a new `Router` @@ -165,13 +165,10 @@ impl Router { /// # Examples /// /// ```rust - /// windmark::Router::new().set_certificate_chain_file("windmark_pair.pem"); + /// windmark::Router::new().set_certificate_file("windmark_public.pem"); /// ``` - pub fn set_certificate_chain_file( - &mut self, - certificate_chain_file_name: &str, - ) -> &mut Self { - self.certificate_chain_file_name = certificate_chain_file_name.to_string(); + pub fn set_certificate_file(&mut self, certificate_name: &str) -> &mut Self { + self.ca_file_name = certificate_name.to_string(); self } @@ -436,7 +433,10 @@ impl Router { &self.private_key_file_name, ssl::SslFiletype::PEM, )?; - builder.set_certificate_chain_file(&self.certificate_chain_file_name)?; + builder.set_certificate_file( + &self.ca_file_name, + openssl::ssl::SslFiletype::PEM, + )?; builder.check_private_key()?; self.ssl_acceptor = Arc::new(builder.build()); @@ -459,7 +459,7 @@ impl Router { /// .set_private_key_file("windmark_private.pem", ssl::SslFiletype::PEM) /// .unwrap(); /// builder - /// .set_certificate_chain_file("windmark_pair.pem") + /// .set_certificate_file("windmark_public.pem", openssl::ssl::SslFiletype::PEM) /// .unwrap(); /// builder.check_private_key().unwrap(); /// @@ -648,7 +648,7 @@ impl Default for Router { ) }))), private_key_file_name: "".to_string(), - certificate_chain_file_name: "".to_string(), + ca_file_name: "".to_string(), header: Arc::new(Mutex::new(Box::new(|_| "".to_string()))), footer: Arc::new(Mutex::new(Box::new(|_| "".to_string()))), ssl_acceptor: Arc::new( |