mirror of
https://github.com/fafhrd91/actix-web
synced 2025-07-16 22:55:47 +02:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9306631d6e | ||
|
487a713ca0 |
@@ -1,5 +1,10 @@
|
|||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
|
## 0.6.4 (2018-05-11)
|
||||||
|
|
||||||
|
* Fix segfault in ServerSettings::get_response_builder()
|
||||||
|
|
||||||
|
|
||||||
## 0.6.3 (2018-05-10)
|
## 0.6.3 (2018-05-10)
|
||||||
|
|
||||||
* Add `Router::with_async()` method for async handler registration.
|
* Add `Router::with_async()` method for async handler registration.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "actix-web"
|
name = "actix-web"
|
||||||
version = "0.6.3"
|
version = "0.6.4"
|
||||||
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
|
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
|
||||||
description = "Actix web is a simple, pragmatic and extremely fast web framework for Rust."
|
description = "Actix web is a simple, pragmatic and extremely fast web framework for Rust."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
@@ -492,14 +492,15 @@ where
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// /// extract path info using serde
|
/// /// extract path info using serde
|
||||||
/// fn index(state: State<MyApp>, info: Path<Info>) -> String {
|
/// fn index(data: (State<MyApp>, Path<Info>)) -> String {
|
||||||
/// format!("{} {}!", state.msg, info.username)
|
/// let (state, path) = data;
|
||||||
|
/// format!("{} {}!", state.msg, path.username)
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// fn main() {
|
/// fn main() {
|
||||||
/// let app = App::with_state(MyApp{msg: "Welcome"}).resource(
|
/// let app = App::with_state(MyApp{msg: "Welcome"}).resource(
|
||||||
/// "/{username}/index.html", // <- define path parameters
|
/// "/{username}/index.html", // <- define path parameters
|
||||||
/// |r| r.method(http::Method::GET).with2(index)); // <- use `with` extractor
|
/// |r| r.method(http::Method::GET).with(index)); // <- use `with` extractor
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
pub struct State<S>(HttpRequest<S>);
|
pub struct State<S>(HttpRequest<S>);
|
||||||
|
@@ -16,7 +16,6 @@ use body::Body;
|
|||||||
use httpresponse::{HttpResponse, HttpResponseBuilder, HttpResponsePool};
|
use httpresponse::{HttpResponse, HttpResponseBuilder, HttpResponsePool};
|
||||||
|
|
||||||
/// Various server settings
|
/// Various server settings
|
||||||
#[derive(Clone)]
|
|
||||||
pub struct ServerSettings {
|
pub struct ServerSettings {
|
||||||
addr: Option<net::SocketAddr>,
|
addr: Option<net::SocketAddr>,
|
||||||
secure: bool,
|
secure: bool,
|
||||||
@@ -28,6 +27,18 @@ pub struct ServerSettings {
|
|||||||
unsafe impl Sync for ServerSettings {}
|
unsafe impl Sync for ServerSettings {}
|
||||||
unsafe impl Send for ServerSettings {}
|
unsafe impl Send for ServerSettings {}
|
||||||
|
|
||||||
|
impl Clone for ServerSettings {
|
||||||
|
fn clone(&self) -> Self {
|
||||||
|
ServerSettings {
|
||||||
|
addr: self.addr,
|
||||||
|
secure: self.secure,
|
||||||
|
host: self.host.clone(),
|
||||||
|
cpu_pool: self.cpu_pool.clone(),
|
||||||
|
responses: HttpResponsePool::pool(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct InnerCpuPool {
|
struct InnerCpuPool {
|
||||||
cpu_pool: UnsafeCell<Option<CpuPool>>,
|
cpu_pool: UnsafeCell<Option<CpuPool>>,
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user