* Replace UnsafeCell in DateServiceInner with Cell
The previous API was extremely dangerous - calling `get_ref()`
followed by `reset()` would trigger instant UB, without requiring
any `unsafe` blocks in the caller.
By making DateInner `Copy`, we can use a normal `Cell` instead
of an `UnsafeCell`. This makes it impossible to cause UB (or even panic)
with the API.
* Split unsafe block HttpServiceHandlerResponse
Also add explanation of the safety of the usage of `unsafe`
* Replace UnsafeCell with RefCell in PayloadRef
This ensures that a mistake in the usage of 'get_mut' will cause
a panic, not undefined behavior.
* Expose the max limit for payload sizes in Websocket Actors.
* Revert to previous not-formatted code.
* Implement WebsocketContext::with_codec and make Codec Copy and Clone.
* Fix formatting.
* Fix formatting.
* awc: Fix typo on ResponseError documentation
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* http: Fix typo on ResponseError documentation
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* http: Expand type names for openssl related errors documentation
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* Support to set header names of `ClientRequest` as Camel-Case
This is the case for supporting to request for servers which don't
perfectly implement the `RFC 7230`. It is important for an app
which uses `ClientRequest` as core part.
* Add field `upper_camel_case_headers` to `ClientRequest`.
* Add function `set_upper_camel_case_headers` to `ClientRequest`
and `ClientRequestBuilder` to set field `upper_camel_case_headers`.
* Add trait `client::writer::UpperCamelCaseHeader` for
`http::header::HeaderName`, let it can be converted to Camel-Case
then writed to buffer.
* Add test `test_client::test_upper_camel_case_headers`.
* Support upper Camel-Case headers
* [actix-http] Add field `upper_camel_case_headers` for `RequestHead`
* [actix-http] Add code for `MessageType` to support upper camel case
* [awc] Add functions for `ClientRequest` to set upper camel case
* Use `Flags::CAMEL_CASE` for upper camel case of headers
* feat: replate time::Duration with chrono::Duration
* feat: rename max_age method which accepts `Duration` to max_age_time and add new max_age method accepting isize of seconds
* feat: replace `time:Duration` with `chrono:Duration` in repo `actix-http`