mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-27 09:12:57 +01:00
chore(actix-settings): prepare release 0.8.0
This commit is contained in:
parent
0c0d13be12
commit
50d2fee4e2
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
- Add new feature named `openssl` for TLS settings using `OpenSSL` dependency. [#380]
|
## 0.8.0
|
||||||
- Add new function `settings::tls::Tls::get_ssl_acceptor_builder()` to build `openssl::ssl::SslAcceptorBuilder`. [#380]
|
|
||||||
- Implement TLS logic for `ApplySettings<S>::try_apply_settings()`. [#380]
|
|
||||||
- Add `openssl` dependency;
|
|
||||||
- Minimum supported Rust version (MSRV) is now 1.75.
|
|
||||||
- `ApplySettings<S>::apply_settings()` is deprecated; `ApplySettings<S>::try_apply_settings()` should be preferred. [#380]
|
|
||||||
|
|
||||||
[#380]: https://github.com/actix/actix-extras/pull/380
|
- Add `openssl` crate feature for TLS settings using OpenSSL.
|
||||||
|
- Add `ApplySettings::try_apply_settings()`.
|
||||||
|
- Implement TLS logic for `ApplySettings::try_apply_settings()`.
|
||||||
|
- Add `Tls::get_ssl_acceptor_builder()` function to build `openssl::ssl::SslAcceptorBuilder`.
|
||||||
|
- Deprecate `ApplySettings::apply_settings()`.
|
||||||
|
- Minimum supported Rust version (MSRV) is now 1.75.
|
||||||
|
|
||||||
## 0.7.1
|
## 0.7.1
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "actix-settings"
|
name = "actix-settings"
|
||||||
version = "0.7.1"
|
version = "0.8.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Joey Ezechiels <joey.ezechiels@gmail.com>",
|
"Joey Ezechiels <joey.ezechiels@gmail.com>",
|
||||||
"Rob Ede <robjtede@icloud.com>",
|
"Rob Ede <robjtede@icloud.com>",
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
<!-- prettier-ignore-start -->
|
<!-- prettier-ignore-start -->
|
||||||
|
|
||||||
[![crates.io](https://img.shields.io/crates/v/actix-settings?label=latest)](https://crates.io/crates/actix-settings)
|
[![crates.io](https://img.shields.io/crates/v/actix-settings?label=latest)](https://crates.io/crates/actix-settings)
|
||||||
[![Documentation](https://docs.rs/actix-settings/badge.svg?version=0.7.1)](https://docs.rs/actix-settings/0.7.1)
|
[![Documentation](https://docs.rs/actix-settings/badge.svg?version=0.8.0)](https://docs.rs/actix-settings/0.8.0)
|
||||||
![Apache 2.0 or MIT licensed](https://img.shields.io/crates/l/actix-settings)
|
![Apache 2.0 or MIT licensed](https://img.shields.io/crates/l/actix-settings)
|
||||||
[![Dependency Status](https://deps.rs/crate/actix-settings/0.7.1/status.svg)](https://deps.rs/crate/actix-settings/0.7.1)
|
[![Dependency Status](https://deps.rs/crate/actix-settings/0.8.0/status.svg)](https://deps.rs/crate/actix-settings/0.8.0)
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
@ -242,11 +242,26 @@ where
|
|||||||
|
|
||||||
/// Extension trait for applying parsed settings to the server object.
|
/// Extension trait for applying parsed settings to the server object.
|
||||||
pub trait ApplySettings<S>: Sized {
|
pub trait ApplySettings<S>: Sized {
|
||||||
/// Apply some settings object value to `self`.
|
/// Applies some settings object value to `self`.
|
||||||
#[deprecated = "Prefer `try_apply_settings`."]
|
///
|
||||||
fn apply_settings(self, settings: &S) -> Self;
|
/// The default implementation calls [`try_apply_settings()`].
|
||||||
|
///
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// May panic if settings are invalid or cannot be applied.
|
||||||
|
///
|
||||||
|
/// [`try_apply_settings()`]: ApplySettings::try_apply_settings().
|
||||||
|
#[deprecated = "Prefer `try_apply_settings()`."]
|
||||||
|
fn apply_settings(self, settings: &S) -> Self {
|
||||||
|
self.try_apply_settings(settings)
|
||||||
|
.expect("Could not apply settings")
|
||||||
|
}
|
||||||
|
|
||||||
/// Apply some settings object value to `self`.
|
/// Applies some settings object value to `self`.
|
||||||
|
///
|
||||||
|
/// # Errors
|
||||||
|
///
|
||||||
|
/// May return error if settings are invalid or cannot be applied.
|
||||||
fn try_apply_settings(self, settings: &S) -> AsResult<Self>;
|
fn try_apply_settings(self, settings: &S) -> AsResult<Self>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,35 +21,31 @@ pub struct Tls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Tls {
|
impl Tls {
|
||||||
/// Generates an [`SslAcceptorBuilder`] with its settings. It is often used for the following method
|
/// Returns an [`SslAcceptorBuilder`] with the configured settings.
|
||||||
/// [`actix_web::server::HttpServer::bind_openssl`].
|
///
|
||||||
|
/// The result is often used with [`actix_web::HttpServer::bind_openssl()`].
|
||||||
///
|
///
|
||||||
/// # Example
|
/// # Example
|
||||||
/// ```no_run
|
|
||||||
/// use actix_settings::{ApplySettings, Settings};
|
|
||||||
/// use actix_web::{get, App, HttpServer, Responder};
|
|
||||||
///
|
///
|
||||||
/// #[get("/")]
|
/// ```no_run
|
||||||
/// async fn index() -> impl Responder {
|
/// use std::io;
|
||||||
/// "Hello."
|
/// use actix_settings::{ApplySettings as _, Settings};
|
||||||
/// }
|
/// use actix_web::{get, web, App, HttpServer, Responder};
|
||||||
///
|
///
|
||||||
/// #[actix_web::main]
|
/// #[actix_web::main]
|
||||||
/// async fn main() -> std::io::Result<()> {
|
/// async fn main() -> io::Result<()> {
|
||||||
/// let settings = Settings::from_default_template();
|
/// let settings = Settings::from_default_template();
|
||||||
///
|
///
|
||||||
/// HttpServer::new(|| {
|
/// HttpServer::new(|| {
|
||||||
/// App::new()
|
/// App::new().service(web::to(|| { "Hello, World!" }))
|
||||||
/// .service(index)
|
|
||||||
/// })
|
/// })
|
||||||
/// .try_apply_settings(&settings)?
|
/// .try_apply_settings(&settings)?
|
||||||
/// .bind(("127.0.0.1", 8080))?
|
/// .bind(("127.0.0.1", 8080))?
|
||||||
/// .bind_openssl(("127.0.0.1", 8081), settings.actix.tls.get_ssl_acceptor_builder()?)?
|
/// .bind_openssl(("127.0.0.1", 8443), settings.actix.tls.get_ssl_acceptor_builder()?)?
|
||||||
/// .run()
|
/// .run()
|
||||||
/// .await
|
/// .await
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[allow(rustdoc::broken_intra_doc_links)]
|
|
||||||
pub fn get_ssl_acceptor_builder(&self) -> AsResult<SslAcceptorBuilder> {
|
pub fn get_ssl_acceptor_builder(&self) -> AsResult<SslAcceptorBuilder> {
|
||||||
let mut builder = SslAcceptor::mozilla_intermediate(SslMethod::tls())?;
|
let mut builder = SslAcceptor::mozilla_intermediate(SslMethod::tls())?;
|
||||||
builder.set_certificate_chain_file(&self.certificate)?;
|
builder.set_certificate_chain_file(&self.certificate)?;
|
||||||
|
Loading…
Reference in New Issue
Block a user