Rob Ede
b95e1dda34
pin h2 to 0.3.0
2021-02-27 19:57:09 +00:00
Alex Rebert
5845b3965c
actix-http-test: minimize features of dependencies ( #2019 )
2021-02-22 12:00:08 +00:00
fakeshadow
aacec30ad1
reduce duplicate code ( #2020 )
2021-02-22 11:15:12 +00:00
fakeshadow
946cccaa1a
refactor awc::ClientBuilder ( #2008 )
2021-02-18 12:30:09 +00:00
fakeshadow
1838d9cd0f
remove unused method. reduce leaf future type ( #2009 )
2021-02-18 11:24:10 +00:00
fakeshadow
f62a982a51
simplify the match on h1 message type ( #2006 )
2021-02-18 10:38:27 +00:00
fakeshadow
dfa795ff9d
return poll in poll_flush ( #2005 )
2021-02-17 11:18:31 +00:00
fakeshadow
117025a96b
simplify client::connection::Connection trait ( #1998 )
2021-02-16 14:10:22 +00:00
Rob Ede
17b3e7e225
pool doc nits ( #1999 )
2021-02-16 09:08:30 +00:00
fakeshadow
c065729468
rework client connection pool ( #1994 )
2021-02-16 08:27:14 +00:00
Rob Ede
55db3ec65c
split up http body module
2021-02-15 12:20:43 +00:00
Rob Ede
0404b78b54
improve body size docs
2021-02-15 11:24:46 +00:00
fakeshadow
68d1bd88b1
remove unused flag upgrade ( #1992 )
2021-02-14 18:13:05 +00:00
fakeshadow
308b70b039
fix potential over read ( #1991 )
2021-02-14 17:36:18 +00:00
Rob Ede
7fa6333a0c
use rcgen for tls key generation ( #1989 )
2021-02-13 17:16:36 +00:00
Rob Ede
3279070f9f
optional cookies features ( #1981 )
2021-02-13 15:08:43 +00:00
fakeshadow
b37669cb3b
fix notify on drop ( #1987 )
2021-02-13 04:23:37 +00:00
Rob Ede
1e538bf73e
rework ci ( #1982 )
2021-02-12 21:53:21 +00:00
fakeshadow
366c032c36
refactor DateService ( #1983 )
2021-02-12 21:52:58 +00:00
fakeshadow
95113ad12f
do not self wake up when have a payload ( #1984 )
2021-02-12 20:33:13 +00:00
fakeshadow
ce9b2770e2
remove unused Dispatcher::new_timeout ( #1985 )
2021-02-12 10:37:28 +00:00
Rob Ede
4fc7d76759
s/websocket/WebSocket in docs
2021-02-12 00:27:20 +00:00
Rob Ede
81bef93e5e
add time parser year shift tests
2021-02-12 00:15:25 +00:00
Rob Ede
31d9ed81c5
change rustfmt line width to 96
2021-02-11 23:03:17 +00:00
Rob Ede
c1af5089b9
add 431 and 451 status codes
2021-02-11 22:58:40 +00:00
Rob Ede
77efc09362
hide httpmessage mod
2021-02-11 22:58:40 +00:00
Rob Ede
871ca5e4ae
stop claiming actor support
2021-02-11 22:58:40 +00:00
fakeshadow
ceace26ed4
remove unused flag POLLED ( #1980 )
2021-02-11 14:19:14 -08:00
fakeshadow
75a9a72e78
clean up poll_response. add comments ( #1978 )
2021-02-11 14:54:42 +00:00
fakeshadow
d9d0d1d1a2
reduce unsafe ( #1972 )
2021-02-10 23:11:12 +00:00
Rob Ede
ea5ce3befb
prepare actix-http 3.0.0-beta.3 release
2021-02-10 18:36:14 +00:00
Rob Ede
a290e58982
prepare beta 2 release set ( #1975 )
2021-02-10 12:10:03 +00:00
fakeshadow
dcad9724bc
ensure poll_flush on h1 connection disconnect ( #1974 )
2021-02-10 10:11:53 +00:00
Rob Ede
949d14ae2b
clean up header map ( #1964 )
2021-02-09 22:59:17 +00:00
fakeshadow
a6ed4aee84
add poll_flush after a non blocked write to h1 dispatcher ( #1971 )
2021-02-09 22:32:46 +00:00
fakeshadow
519d7f2b8a
add trust-dns optional feature for actix-http and awc ( #1969 )
2021-02-09 10:41:20 +00:00
fakeshadow
266cf0622c
reduce branch.remove deadcode for h1 dispatcher ( #1962 )
2021-02-07 22:48:27 +00:00
fakeshadow
dbc47c9122
optimize actix-http messages ( #1914 )
2021-02-07 20:19:10 +00:00
fakeshadow
4c243cbf89
simplify methods of awc::connect::Connect trait ( #1941 )
2021-02-07 18:56:39 +00:00
Alexander Jackson
deafb7c8b8
Improve impl ResponseError
documentation ( #1939 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-02-07 04:54:41 +00:00
Rob Ede
9eaea6a2fd
tweak feature flags
2021-02-07 03:54:58 +00:00
fakeshadow
830fb2cdb2
properly drop h2 connection ( #1926 )
2021-02-07 03:51:36 +00:00
fakeshadow
7cfed73be8
fix memory usage for h1 and read bug on buffer size. ( #1929 )
2021-02-07 03:20:35 +00:00
fakeshadow
41bc04b1c4
Use immutable reference of service state. Update awc dns resolver. ( #1905 )
2021-02-07 01:00:40 +00:00
fakeshadow
20cf0094e5
fix master branch build. change web::block output type. ( #1957 )
2021-02-06 16:23:59 +00:00
Logan Magee
0c8196f8b0
Remove HttpResponseBuilder::json2() ( #1903 )
...
It's not necessary to keep both json() and json2() around since the
former reduces the ownership of its parameter to a borrow only to pass
the reference to the latter. Users can instead borrow themselves when
passing an owned value: there doesn't need to be two separate functions.
This change also makes HttpResponseBuilder::json() take T: Deref so it
can accept both references and web extractors like web::Json.
2021-01-18 12:14:29 +00:00
Rob Ede
ee10148444
revive commented out tests ( #1912 )
2021-01-17 05:19:32 +00:00
fakeshadow
1c95fc2654
Refactor poll_keepalive for readability ( #1901 )
2021-01-16 00:15:06 +00:00
Rob Ede
0a506bf2e9
cleanup top level doc comments
2021-01-15 05:38:50 +00:00
Rob Ede
f976150b67
return option item from Extensions::insert ( #1904 )
2021-01-15 04:22:42 +00:00
Rob Ede
b1dd8d28bc
response header rework ( #1869 )
2021-01-15 02:11:10 +00:00
fakeshadow
d34a8689e5
Refactor h1 encoder ( #1900 )
2021-01-12 14:38:53 +00:00
fakeshadow
7affc6878e
simplify h1 dispatcher ( #1899 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-11 00:13:56 +00:00
fakeshadow
fe392abeb4
remove actix-threadpool.use actix_rt::task::spawn_blocking ( #1878 )
2021-01-09 16:04:19 +00:00
fakeshadow
f6cc829758
remove leaked box in REQUEST_POOL and RESPONSE_POOL ( #1896 )
2021-01-09 15:40:20 +00:00
Rob Ede
6575ee93f2
big clean up and docs improvmenet of types mod ( #1894 )
2021-01-09 13:17:19 +00:00
fakeshadow
188ee44f81
remove copyless dependency ( #1884 )
2021-01-07 21:55:00 +00:00
fakeshadow
a4c9aaf337
fix extra branch in h1 dispatcher timer ( #1882 )
2021-01-07 20:42:09 +00:00
Rob Ede
c09186a2c0
prepare v4 beta releases ( #1881 )
2021-01-07 20:02:08 +00:00
Rob Ede
dc23559f23
address clippy lints
2021-01-07 02:04:26 +00:00
fakeshadow
6d710629af
fix bug where upgrade future is not reset properly ( #1880 )
2021-01-07 00:57:34 +00:00
Rob Ede
85753130d9
fmt
2021-01-07 00:35:19 +00:00
Rob Ede
00ba8d5549
add http3 variant to protocol enum
2021-01-06 18:58:24 +00:00
Rob Ede
51e9e1500b
add docs to recent additions
2021-01-06 18:52:06 +00:00
fakeshadow
a03dbe2dcf
replace cloneable service with httpflow abstraction ( #1876 )
2021-01-06 18:43:52 +00:00
fakeshadow
93161df141
clean up body type ( #1872 )
2021-01-04 23:47:38 +00:00
fakeshadow
e567873326
optimize message pool release ( #1871 )
2021-01-04 13:03:46 +00:00
Rob Ede
7d632d0b7b
use ByteString as container for websocket text message ( #1864 )
2021-01-04 11:27:32 +00:00
Rob Ede
2d4a174420
fmt
2021-01-04 01:01:35 +00:00
Rob Ede
21f6c9d7a5
improve code readability
2021-01-04 00:49:02 +00:00
fakeshadow
32de9f8840
Tokio 1.0 ( #1813 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-03 23:47:04 +00:00
Rob Ede
1f202d40e4
optimize write_camel_case in h1 encoder ( #1868 )
2021-01-03 16:53:01 +00:00
Rob Ede
a1b00b2cd0
change unreleased year
2021-01-02 00:12:18 +00:00
Rob Ede
2a2a20c3e7
bump msrv to 1.46 ( #1858 )
2020-12-28 00:44:15 +00:00
Rob Ede
093d3a6c59
remove deprecated on_connect methods ( #1857 )
2020-12-27 23:23:30 +00:00
fakeshadow
f9fcf56d5c
reduce branch in actix_http::h1::codec ( #1854 )
2020-12-27 20:37:53 +00:00
fakeshadow
1032f04ded
remove unused actix_http::h1::OneRequest
( #1853 )
2020-12-26 12:46:36 +00:00
fakeshadow
ecf08d5156
Remove boxed future from h1 Dispatcher ( #1836 )
2020-12-24 19:15:17 +00:00
Rob Ede
2a7f2c1d59
dispatcher internals testing ( #1840 )
2020-12-23 01:28:17 +00:00
Logan Magee
4dccd092f3
Bump rand from 0.7.x to 0.8.x ( #1845 )
2020-12-22 23:45:31 +00:00
fakeshadow
95ccf1c9bc
replace actix_utils::oneshot with futures_channle::oneshot ( #1844 )
2020-12-21 16:42:20 +00:00
Aravinth Manivannan
fabc68659b
Intradoc links conversion ( #1827 )
...
* switching to nightly for intra-doc links
* actix-files intra-doc conversion
* more specific Result
* intradoc conversion complete
* rm blank comments and readme doc link fixes
* macros and broken links
2020-12-13 13:28:39 +00:00
Juan Aguilar
542db82282
Simplify wake up of task ( #1826 )
2020-12-12 20:07:06 +00:00
Rob Ede
ae63eb8bb2
fix clippy warnings ( #1806 )
...
* fix clippy warnings
* prevent CI fail status caused by codecov
2020-12-09 11:22:19 +00:00
Rob Ede
efc317d3b0
prepare actix-http and awc releases
2020-11-25 00:07:56 +00:00
Rob Ede
5af46775b8
refactor quality and use TryFrom instead of custom trait ( #1797 )
2020-11-24 11:37:05 +00:00
Rob Ede
70f4747a23
add method for getting accept type preference ( #1793 )
2020-11-24 10:08:57 +00:00
Yuki Okushi
4bfd5c2781
Upgrade serde_urlencoded
to 0.7
( #1773 )
2020-11-06 01:36:15 +09:00
Rob Ede
61b65aa64a
add common 1xx http response builders ( #1768 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-11-02 18:23:18 +09:00
Sebastian Mayr
5468c3c410
Drop content length headers from 101 responses ( #1767 )
...
Co-authored-by: Sebastian Mayr <smayr@atlassian.com>
2020-11-02 17:44:14 +09:00
Yuki Okushi
b6385c2b4e
Remove CoC on actix-http as duplicated
2020-10-31 12:12:19 +09:00
Rob Ede
156c97cef2
prepare awc release 2.0.1
2020-10-30 02:50:53 +00:00
Rob Ede
798d744eef
prepare http release 2.1.0
2020-10-30 02:19:56 +00:00
Rob Ede
4cb833616a
deprecate builder if-x methods ( #1760 )
2020-10-30 02:10:05 +00:00
Rob Ede
9963a5ef54
expose on_connect v2 ( #1754 )
...
Co-authored-by: Mikail Bagishov <bagishov.mikail@yandex.ru>
2020-10-30 02:03:26 +00:00
Augusto César Dias
7030bf5fe8
Adding app_data to ServiceConfig ( #1758 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Augusto <augusto@flowciety.de>
2020-10-26 17:02:45 +00:00
ghizzo01
20078fe603
Bump pin-project to 1.0 ( #1733 )
2020-10-25 19:41:44 +09:00
ghizzo01
f92742bdac
Bump base64 to 0.13 ( #1744 )
2020-10-19 18:24:22 +01:00
Rob Ede
e563025b16
always construct shortslice using debug checked new constructor ( #1741 )
2020-10-19 12:51:30 +01:00
Yuki Okushi
c2c71cc626
Fix/suppress clippy warnings ( #1720 )
2020-10-01 18:19:09 +09:00
Igor Aleksanov
f9e3f78e45
eemove non-relevant comment from actix-http README.md ( #1701 )
2020-09-20 17:21:53 +01:00
Rob Ede
64a2c13cdf
the big three point oh ( #1668 )
2020-09-11 13:50:10 +01:00
Rob Ede
bf53fe5a22
bump actix dependency to v0.10 ( #1666 )
2020-09-11 12:09:52 +01:00
Rob Ede
7787638f26
fix CI clippy warnings ( #1664 )
2020-09-10 14:46:35 +01:00
Rob Ede
059d1671d7
prepare release beta 4 ( #1659 )
2020-09-09 22:14:11 +01:00
Rob Ede
9d0534999d
bump connect and tls versions ( #1655 )
2020-09-09 09:20:54 +01:00
Rob Ede
9a9d4b182e
document all remaining unsafe usages ( #1642 )
...
adds some debug assertions where appropriate
2020-09-03 10:00:24 +01:00
Rob Ede
8497b5f490
integrate with updated actix-{codec, utils} ( #1634 )
2020-08-24 10:13:35 +01:00
Yuki Okushi
ff2ca0f420
Update rustls to 0.18 ( #1637 )
2020-08-18 00:28:39 +09:00
Yuki Okushi
aa2bd6fbfb
http: Bump up to 2.0.0-beta.3 ( #1630 )
2020-08-14 19:42:14 +09:00
fakeshadow
160995b8d4
fix awc pool leak ( #1626 )
2020-08-09 21:49:43 +01:00
Rob Ede
cf1c8abe62
prepare release http & awc ( #1617 )
2020-07-22 01:13:10 +01:00
Yuki Okushi
92b5bcd13f
Check format and tweak CI config ( #1619 )
2020-07-22 00:28:33 +01:00
masnagam
701bdacfa2
Fix illegal chunked encoding ( #1615 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-07-21 17:24:56 +01:00
Rob Ede
6dc47c4093
fix soundness concern in h1 decoder ( #1614 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-07-21 16:25:33 +01:00
Rob Ede
0ec335a39c
bump MSRV to 1.42 ( #1616 )
2020-07-21 16:40:30 +09:00
Yuki Okushi
1382094c15
Avoid using deprecated /
in license field
2020-07-14 11:19:56 +09:00
Rob Ede
327e472e44
prepare http-2.0.0-beta.1 release ( #1596 )
2020-07-13 15:35:30 +01:00
Patrick Tescher
e10eb648d9
Fix leaks with actix_http's client ( #1580 )
2020-07-10 22:35:22 +01:00
Yuki Okushi
deab634247
actix-http: Update sha-1
to 0.9 ( #1586 )
2020-07-03 01:08:24 +01:00
Rob Ede
eb0eda69c6
migrate cookie handling to cookie crate ( #1558 )
2020-06-19 14:34:14 +01:00
Andrew
e72ee28232
Enforce HW_BUFFER_SIZE inside h1::dispatcher ( #1550 )
2020-06-17 08:58:23 +01:00
Taiki Endo
6c5c4ea230
Remove uses of pin_project::project attribute
...
pin-project will deprecate the project attribute due to some unfixable
limitations.
Refs: https://github.com/taiki-e/pin-project/issues/225
2020-06-06 06:44:14 +09:00
Yuki Okushi
5286b8aed7
Remove AppVeyor config
2020-06-03 03:39:35 +09:00
Stephen Stack
621ebec01a
Fix typo in timeout error display ( #1552 )
2020-06-02 18:04:49 +01:00
Yuki Okushi
4a955c425d
Update actix-http-test
dependency to 2.0.0-alpha.1
2020-05-23 12:14:17 +09:00
Nick Kolpinskiy
7d8fb631a0
Use itoa
in the content-length helper
2020-05-21 22:25:34 +03:00
Yuki Okushi
48fa78e182
http: Bump up to 2.0.0-alpha.4
2020-05-21 15:22:07 +09:00
Yuki Okushi
8391427905
http: Update base64
to 0.12
2020-05-21 09:51:32 +09:00
Yuki Okushi
292af145cb
http: Minimize futures
dependencies
2020-05-19 08:29:11 +09:00
Omid Rad
32a37b7282
Remove content_length from ResponseBuilder ( #1491 )
...
* Remove content_length since it'll be overwritten by the response body. FIXES #1439
* Add setting of Content-Length to the no_chunking function
* Add changes and migration documentations
* Update MIGRATION.md
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-05-19 07:46:31 +09:00
Rob Ede
7e8ea44d5c
remove needless BodySize::Sized64 variant
2020-05-18 00:42:51 +01:00
Rob Ede
f3b0233477
use mem::take where possible ( #1507 )
2020-05-17 10:54:42 +09:00
Rob Ede
996f1d7eae
bump msrv in ci and readme
2020-05-13 01:57:37 +01:00
Takeru Sato
63864ecf9e
support parsing of SameSite=None ( #1503 )
2020-05-12 17:48:35 +01:00
Yuki Okushi
0bc4a5e703
http: Bump up to 2.0.0-alpha.3
2020-05-08 02:35:45 +09:00
Rob Ede
9d94fb91b2
correct spelling of ConnectError::Unresolved ( #1487 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-05-08 02:26:48 +09:00
Rob Ede
b521e9b221
conditional test compilation [range, charset] ( #1483 )
...
* conditionally compile range and charset tests
* remove deprecated try macros
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-05-03 22:33:29 +09:00
Rob Ede
f37cb6dd0b
refactor h1 status line helper to remove unsafe usage ( #1484 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-05-03 17:37:40 +09:00
Mikail Bagishov
d5ceae2074
Replace deprecated now with now_utc ( #1481 )
...
* Replace deprecated now with now_utc
* Update doctest
2020-05-02 10:14:50 +01:00
Rob Ede
c27d3fad8e
clarify resource/scope app data overriding ( #1476 )
...
* relocate FnDataFactory
* clarify app data overriding in Scope and Resource
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-04-30 02:20:47 +09:00
Huston Bokinsky
b047413b39
Small ws codec fix ( #1465 )
...
* Small ws codec fix
* Update actix-http/Changes.md
Co-authored-by: Huston Bokinsky <huston@deepgram.com>
2020-04-29 11:13:09 +09:00
Rob Ede
5b0f7fff69
fix spelling errors in doc comments
2020-04-21 04:09:35 +01:00
Yuki Okushi
54619cb680
actix-http: Remove failure
support ( #1449 )
2020-04-16 06:54:34 +09:00
Otavio Salvador
146ae4da18
Implement std::error::Error
for our custom errors
...
For allowing a more ergonomic use and better integration on the
ecosystem, this adds the `std::error::Error` `impl` for our custom
errors.
We intent to drop this hand made code once `derive_more` finishes the
addition of the Error derive support[1]. Until that is available, we
need to live with that.
1. https://github.com/JelteF/derive_more/issues/92
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-03-18 00:22:18 -03:00
Yuki Okushi
e718f65121
Update tests
2020-03-08 16:42:45 +09:00
Yuki Okushi
b93e1555ec
Update actix-connect
to 2.0.0-alpha.2
2020-03-08 15:27:40 +09:00
Yuki Okushi
0d5646a8b6
Run rustfmt
2020-03-08 00:52:39 +09:00
Yuki Okushi
6f63acaf01
Bump up to 2.0.0-alpha.2
2020-03-08 00:48:45 +09:00
Yuki Okushi
7172885beb
Update changelog
2020-03-08 00:43:17 +09:00
Yuki Okushi
cf721c5fff
Update README example
2020-03-08 00:43:01 +09:00
Maxim Vorobjov
10e3e72595
Http2 client configuration to improve performance ( #1394 )
...
* add defaults for http2 client configuration
* fix spaces
* Add changes text for extended H2 defaults buffers
* client: configurable H2 window sizes and max_http_version
* add H2 window size configuration and max_http_version to awc::ClientBuilder
* add awc::ClientBuilder H2 window sizes and max_http_version
* add test for H2 window size settings
* cleanup comment
* Apply code review fixes
* Code review fix for awc ClientBuilder
* Remove unnecessary comments on code review
* pin quote version to resolve build issue
* max_http_version to accept http::Version
* revert fix for quote broken build
2020-03-07 11:09:31 +09:00
Aaron Hill
e90950fee1
Re-apply commit 2cf7b3ad20
...
This ended up getting reverted by #1367 , which re-introduced an unsound
use of `Pin::new_unchecked`
See my original PR #1374 for the reasoning behind this change.
2020-03-04 11:27:58 -05:00
Yuki Okushi
9d661dc4f3
Update changelog
2020-03-04 15:20:14 +09:00
Yuki Okushi
687dc609dd
Update rustls
to 0.17
2020-03-04 15:11:31 +09:00
Yuki Okushi
b9b52079e0
Update actix-tls
to 2.0.0-alpha.1
2020-03-04 15:10:23 +09:00
Yuki Okushi
117d28f7ba
Update actix-connect
to 2.0.0-alpha.1
2020-03-04 15:09:31 +09:00
Yuki Okushi
b4d63667df
Demote lint level to warn
2020-02-27 22:39:11 +09:00
Yuki Okushi
6cc83dbb67
Allow clippy lint for compatibility
2020-02-27 12:45:11 +09:00
Yuki Okushi
15a2587887
Bump up to 2.0.0-alpha.1
2020-02-27 12:39:04 +09:00
Yuki Okushi
0173f99726
Update changelog
2020-02-27 12:39:04 +09:00
Yuki Okushi
f27dd19093
Fix Clippy warnings
2020-02-27 12:39:04 +09:00
Yuki Okushi
7ba14fd113
Run rustfmt
2020-02-27 11:10:55 +09:00
Yuki Okushi
903ae47baa
dev-deps: Update env_logger to 0.7
2020-02-27 11:08:45 +09:00
Yuki Okushi
cd1765035c
Avoid re-definition
2020-02-27 09:42:32 +09:00
Maksym Vorobiov
ea28219d0f
reenable actix-http test-ws
2020-02-27 09:42:32 +09:00
Maksym Vorobiov
0a86907dd2
use mem::replace instead of mem::take rust 1.40+
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
78749a4b7e
rollback actix-http version change
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
de815dd99c
Fixed condition for finishing transfer of response
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
e6078bf792
Fix EncoderBody enum to align with Body::Message
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
a84b37199a
Add Unpin to Body to get rid of unsafe in MessageBody
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
c05f9475c5
refactor dispatcher to avoid possible UB with DispatcherState Pin
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
69dab0063c
Get rid of one more unsafe
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
ec5c779732
unlink MessageBody from Unpin
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
2e2ea7ab80
remove extra whitespaces and Unpins
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
eeebc653fd
change actix-http version to alpha
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
09a391a3ca
rollback changes to actix-web, awc and test-server for now
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
62aba424e2
Rollback actix-http-test dependency to show the issue
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
9d04b250f9
This is a squashed commit:
...
- Convert MessageBody to accept Pin in poll_next
- add CHANGES and increase versions aligned to semver
- update crates to accomodate MessageBody Pin change
- fix tests and dependencies
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
a4148de226
add test crashing with segfault according to #1321
2020-02-27 09:36:30 +09:00
Maxim Vorobjov
48ef4d7a26
Add actix-http support for actix error messages ( #1379 )
...
* Moved actix-http for actix from actix crate
* remove resolver feature
* renamed actix feature to actor
* fixed doc attr for actors, add documentation
2020-02-27 09:34:49 +09:00
Aaron Hill
71c4bd1b30
Remove uses of Pin::new_unchecked in h1 Dispatcher ( #1374 )
...
This removes the last uses of unsafe `Pin` functions in actix-web.
This PR adds a `Pin<Box<_>>` wrapper to `DispatcherState::Upgrade`,
`State::ExpectCall`, and `State::ServiceCall`.
The previous uses of the futures `State::ExpectCall` and `State::ServiceCall`
were Undefined Behavior - a future was obtained from `self.expect.call`
or `self.service.call`, pinned on the stack, and then immediately
returned from `handle_request`. The only alternative to using `Box::pin`
would be to refactor `handle_request` to write the futures directly into
their final location, or avoid polling them before they are returned.
The previous use of `DispatcherState::Upgrade` doesn't seem to be
unsound. However, having data pinned inside an enum that we
`std::mem::replace` would require some careful `unsafe` code to ensure
that we never call `std::mem::replace` when the active variant contains
pinned data. By using `Box::pin`, we any possibility of future
refactoring accidentally introducing undefined behavior.
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-02-26 08:21:05 +09:00
Yuki Okushi
2a72e8d119
Merge branch 'master' into replace-unsafe-content-length-helper
2020-02-25 14:30:04 +09:00
Yuki Okushi
845ce3cf34
Fix doc comment
2020-02-25 07:46:03 +09:00
Rob Ede
94da08f506
increase content-length fast path to responses up to 1MB
2020-02-24 20:58:41 +00:00
Yuki Okushi
c8ccc69b93
actix-http: update time
to 0.2.7
2020-02-23 07:09:00 +09:00
Daniel YU
245f96868a
impl downcast_ref for MessageBody ( #1287 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-02-21 13:31:51 +09:00
Aaron Hill
e6811e8818
Use #[pin_project] with ConnectorPoolSupport
...
This removes a use of `Pin::get_unchecked_mut`
2020-02-19 21:42:53 -05:00
Rob Ede
f266b44cb0
replace unsafe blocks in write_usize helper
2020-02-16 15:20:25 +00:00
Rob Ede
31a3515e90
add safe vs unsafe benchmarks
2020-02-16 14:31:06 +00:00
Rob Ede
82b2786d6b
replace unsafe content length implementation
2020-02-16 14:31:05 +00:00
zero-systems
728b944360
Extensions module improvement and tests. ( #1297 )
...
* replace get.is_some to contains_key
* Add tests
* remove unnecessary box cast
* fix missing uints
* asserts fix
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-02-07 16:08:25 +09:00
Aaron Hill
fe13789345
Use Pin<Box<S>>
in BodyStream
and SizedStream
( #1328 )
...
Fixes #1321
A better fix would be to change `MessageBody` to take a `Pin<&mut
Self>`, rather than a `Pin<&mut Self>`. This will avoid requiring the
use of `Box` for all consumers by allowing the caller to determine how
to pin the `MessageBody` implementation (e.g. via stack pinning).
However, doing so is a breaking change that will affect every user of
`MessageBody`. By pinning the inner stream ourselves, we can fix the
undefined behavior without breaking the API.
I've included @sebzim4500's reproduction case as a new test case.
However, due to the nature of undefined behavior, this could pass (and
not segfault) even if underlying issue were to regress.
Unfortunately, until rust-lang/unsafe-code-guidelines#148 is resolved,
it's not even possible to write a Miri test that will pass when the bug
is fixed.
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-31 09:39:34 +09:00
Aaron Hill
3033f187d2
Enforce safety of downcast_ref
at compile time. ( #1326 )
...
* Enforce safety of `downcast_ref` at compile time.
The safety of `downcast_ref` requires that `__private_get_type_id__` not
be overriden by callers, since the returned `TypeId` is used to check if
the cast is safe. However, all trait methods in Rust are public, so
users can override `__private_get_type_id__` despite it being
`#[doc(hidden)]`.
This commit makes `__private_get_type_id__` return a type with a private
constructor, ensuring that the only possible implementation is the
default implementation. A more detailed explanation is provided in the
comments added to the file.
Note that the standard library was affected by this type of issue with
the `Error::type_id` function: see https://blog.rust-lang.org/2019/05/14/Rust-1.34.2.html#whats-in-1.34.2-stable
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-30 23:43:35 +09:00
Aaron Hill
276a5a3ee4
Replace UnsafeCell
with Cell
in DateServiceInner
( #1325 )
...
* Replace `UnsafeCell` with `Cell` in `DateServiceInner`
This ensures that it's impossible to cause undefined behavior by
accidentally violating Rust's aliasing rules (e.g. passing a closure to
`set_date` which ends up invoking `reset` or `update` on the inner
`DateServiceInner`).
There might be a tiny amount of overhead from copying the `Option<(Date,
Instant)>` rather than taking a reference, but it shouldn't be
measurable.
Since the wrapped type is `Copy`, a `Cell` can be used, avoiding the
runtime overhead of a `RefCell`.
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-29 21:05:08 +09:00
kevinpoitra
e634e64847
Upgrade time
to 0.2.5 ( #1254 )
...
* Use `OffsetDateTime` instead of `PrimitiveDateTime`
* Parse time strings with `PrimitiveDateTime::parse` instead of `OffsetDateTime::parse`
* Remove unused `time` dependency from actix-multipart
* Fix a few errors with time related tests from the `time` upgrade
* Implement logic to convert a RFC 850 two-digit year into a full length year, and organize time parsing related functions
* Upgrade `time` to 0.2.2
* Correctly parse C's asctime time format using time 0.2's new format patterns
* Update CHANGES.md
* Use `time` without any of its deprecated functions
* Enforce a UTC time offset when converting an `OffsetDateTime` into a Header value
* Use the more readable version of `Duration::seconds(0)`, `Duration::zero()`
* Remove unneeded conversion of time::Duration to std::time::Duration
* Use `OffsetDateTime::as_seconds_f64` instead of manually calculating the amount of seconds from nanoseconds
* Replace a few additional instances of `Duration::seconds(0)` with `Duration::zero()`
* Truncate any nanoseconds from a supplied `Duration` within `Cookie::set_max_age` to ensure two Cookies with the same amount whole seconds equate to one another
* Fix the actix-http:🍪 :do_not_panic_on_large_max_ages test
* Convert `Cookie::max_age` and `Cookie::expires` examples to `time` 0.2
Mainly minor changes. Type inference can be used alongside the new
`time::parse` method, such that the type doesn't need to be specified.
This will be useful if a refactoring takes place that changes the type.
There are also new macros, which are used where possible.
One change that is not immediately obvious, in `HttpDate`, there was an
unnecessary conditional. As the time crate allows for negative durations
(and can perform arithmetic with such), the if/else can be removed
entirely.
Time v0.2.3 also has some bug fixes, which is why I am not using a more
general v0.2 in Cargo.toml.
v0.2.3 has been yanked, as it was backwards imcompatible. This version
reverts the breaking change, while still supporting rustc back to
1.34.0.
* Add missing `time::offset` macro import
* Fix type confusion when using `time::parse` followed by `using_offset`
* Update `time` to 0.2.5
* Update CHANGES.md
Co-authored-by: Jacob Pratt <the.z.cuber@gmail.com>
2020-01-28 20:44:22 +09:00
Kai Ren
cdba30d45f
Skip empty chucks for BodyStream and SizedStream ( #1308 )
...
* Skip empty chucks for BodyStream and SizedStream when streaming response (#1267 )
* Fix tests to fail on previous implementation
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-28 18:28:09 +09:00
Aaron Hill
74dcc7366d
Remove several uses of Pin::new_unchecked
( #1294 )
...
Most of the relevant struct already had a `#[pin_project]` attribute,
but it wasn't being used.
The remaining uses of `Pin::new_unchecked` all involve going from a
`&mut T` to a `Pin<&mut T>`, without directly observing a `Pin<&mut T>`
first. As such, they cannot be replaced by `pin_project`
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-28 12:35:51 +09:00
Maxim Vorobjov
8888520d83
Add benchmark for full stack request lifecycle ( #1298 )
...
* add benchmark for full stack request lifecycle
* add direct service benchmarks
* fix newline
* add cloneable service benchmarks
* remove cloneable bench experiments + cargo fmt
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-25 08:05:25 +09:00
Maxim Vorobjov
58844874a0
Fixing #1295 convert UnsafeCell to RefCell in CloneableService ( #1303 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-24 14:51:38 +09:00
Rob Ede
a3287948d1
allow explicit SameSite=None cookies ( #1282 )
...
fixes #1035
2020-01-23 10:08:23 +09:00
linkmauve
abb462ef85
Replace sha1 dependency with sha-1 ( #1258 )
...
* Replace sha1 dependency with sha-1
This other crate is being maintained, and it offers better performances
when using the `asm` feature (especially [on
AArch64](https://github.com/RustCrypto/hashes/pull/97 )).
* Update CHANGES.md with the sha-1 migration
* Add a test for hash_key()
2020-01-11 02:34:31 +09:00
Nikolay Kim
e66312b664
add extra constraints
2020-01-10 11:36:59 +06:00
linkmauve
f5fd6bc49f
Fix actix-http examples ( #1259 )
...
Fix actix-http examples
2020-01-07 00:15:04 +09:00
Nikolay Kim
c7f3915779
update actix-service dep
2019-12-22 16:39:25 +04:00
Nikolay Kim
1d12ba9d5f
Replace brotli with brotli2 #1224
2019-12-20 13:50:07 +06:00
Nikolay Kim
8c54054844
Use .advance() intead of .split_to()
2019-12-19 09:56:14 +06:00
Nikolay Kim
1732ae8c79
fix Bodyencoding trait usage
2019-12-18 09:30:14 +06:00
Rajasekharan Vengalil
3b860ebdc7
Fix poll_ready call for WebSockets upgrade ( #1219 )
...
* Fix poll_ready call for WebSockets upgrade
* Poll upgrade service from H1ServiceHandler too
2019-12-17 13:34:25 +06:00
Andrii Radyk
30dcaf9da0
fix deprecated Error::description ( #1218 )
2019-12-16 07:43:19 +06:00
Nikolay Kim
cb705317b8
compile with default-features off
2019-12-15 13:28:54 +06:00
Nikolay Kim
e8e0f98f96
fix docs.rs features list
2019-12-13 12:41:48 +06:00
Nikolay Kim
fac6dec3c9
update deps
2019-12-13 12:36:15 +06:00
Nikolay Kim
3d64d565d9
fix warnings
2019-12-13 11:46:02 +06:00
Nikolay Kim
c1deaaeb2f
cleanup imports
2019-12-13 11:24:57 +06:00
Nikolay Kim
b81417c2fa
fix warnings
2019-12-13 10:59:02 +06:00
Nikolay Kim
4937c9f9c2
refactor http-test server
2019-12-12 23:08:38 +06:00
Nikolay Kim
fa07415721
Replace flate2-xxx features with compress
2019-12-12 15:08:08 +06:00
Nikolay Kim
b4b3350b3e
Add websockets continuation frame support
2019-12-12 14:06:54 +06:00
0x1793d1
1b8d747937
Fix extra line feed ( #1209 )
2019-12-12 07:05:39 +06:00
Nikolay Kim
131c897099
upgrade to actix-net release
2019-12-11 19:20:20 +06:00
Nikolay Kim
5132257b0d
Fix buffer remaining capacity calcualtion
2019-12-09 21:55:22 +06:00
Nikolay Kim
0c1f5f9edc
Check Upgrade service readiness before calling it
2019-12-09 17:40:15 +06:00
Sameer Dhar
e4382e4fc1
Fix broken docs ( #1204 )
...
Fixed un escaped brackets in lib.rs, and reflowed links to ConnectionInfo in app, config, and server.rs
2019-12-09 10:02:43 +06:00
Nikolay Kim
a3ce371312
ws ping and pong uses bytes #1049
2019-12-09 07:01:22 +06:00
Nikolay Kim
b92eafb839
prepare actix-http release
2019-12-08 20:15:51 +06:00
Nikolay Kim
1f3ffe38e8
update actix-service dep
2019-12-08 19:25:24 +06:00
Nikolay Kim
4a8a9ef405
update tests and clippy warnings
2019-12-08 12:31:16 +06:00
Nikolay Kim
6c9f9fff73
clippy warnings
2019-12-08 00:46:51 +06:00
Nikolay Kim
7ec5ca88a1
update changes
2019-12-07 22:01:55 +06:00
daxpedda
e5f3d88a4e
Switch brotli compressor to rust. ( #1197 )
...
* Switch to a rustified version of brotli.
* Some memory optimizations.
* Make brotli not optional anymore.
2019-12-07 21:55:41 +06:00
Nikolay Kim
0ba125444a
Add impl ResponseBuilder for Error
2019-12-07 21:41:34 +06:00
daxpedda
4921243add
Fix rustls build. ( #1195 )
2019-12-07 16:14:09 +06:00
Nikolay Kim
1729a52f8b
prepare alpha.3 release
2019-12-07 13:00:03 +06:00
Nikolay Kim
205a964d8f
upgrade to tokio 0.2
2019-12-05 23:35:43 +06:00
Nikolay Kim
b45c6cd66b
replace hashbrown with std hashmap
2019-12-04 18:33:43 +06:00
Nikolay Kim
14075ebf7f
use released versions of actix-net
2019-12-02 23:33:39 +06:00
Nikolay Kim
068f047dd5
update service factory config
2019-12-02 21:37:13 +06:00
Nikolay Kim
f4c01384ec
update to latest actix-net
2019-12-02 17:33:11 +06:00
Nikolay Kim
56b9f11c98
disable rustls
2019-11-27 21:07:49 +06:00
Nikolay Kim
f73f97353b
refactor ResponseError trait
2019-11-26 16:07:39 +06:00
Nikolay Kim
4dc31aac93
use actix_rt::test for test setup
2019-11-26 11:25:50 +06:00
Nikolay Kim
c1c44a7dd6
upgrade derive_more
2019-11-25 17:59:14 +06:00
Nikolay Kim
57981ca04a
update tests to async handlers
2019-11-22 11:49:35 +06:00
Nikolay Kim
512dd2be63
disable rustls support
2019-11-22 07:01:05 +06:00
Nikolay Kim
8683ba8bb0
rename .to_async() to .to()
2019-11-21 21:36:35 +06:00
Nikolay Kim
69cadcdedb
migrate actix-files
2019-11-21 16:02:17 +06:00
Nikolay Kim
3127dd4db6
migrate actix-web to std::future
2019-11-21 16:02:17 +06:00
Nikolay Kim
d081e57316
fix h2 client send body
2019-11-21 16:02:17 +06:00
Nikolay Kim
1ffa7d18d3
drop unpin constraint
2019-11-21 16:02:17 +06:00
Nikolay Kim
687884fb94
update test-server tests
2019-11-21 16:02:17 +06:00
Nikolay Kim
5ab29b2e62
migrate awc and test-server to std::future
2019-11-21 16:02:17 +06:00
Nikolay Kim
a6a2d2f444
update ssl impls
2019-11-21 16:02:17 +06:00
Nikolay Kim
9e95efcc16
migrate client to std::future
2019-11-21 16:02:17 +06:00
Nikolay Kim
8cba1170e6
make actix-http compile with std::future
2019-11-21 16:02:17 +06:00
Nikolay Kim
f7f410d033
fix test order dep
2019-11-06 11:20:47 -08:00
Nikolay Kim
885ff7396e
prepare actox-http release
2019-11-06 10:35:13 -08:00
Hung-I Wang
edcde67076
Fix escaping/encoding problems in Content-Disposition header ( #1151 )
...
* Fix filename encoding in Content-Disposition of acitx_files::NamedFile
* Add more comments on how to use Content-Disposition header properly & Fix some trivial problems
* Improve Content-Disposition filename(*) parameters of actix_files::NamedFile
* Tweak Content-Disposition parse to accept empty param value in quoted-string
* Fix typos in comments in .../content_disposition.rs (pointed out by @JohnTitor)
* Update CHANGES.md
* Update CHANGES.md again
2019-11-06 06:08:37 -08:00
MaySantucci
effa96f5e4
Removed httpcode 'MovedPermanenty'. ( #1128 )
2019-10-12 06:45:12 +06:00
Nathan
cc0b4be5b7
Fix typo in response.rs body() comment ( #1126 )
...
Fixes https://github.com/actix/actix-web/issues/1125
2019-10-09 19:11:55 +06:00
SuperHacker-liuan
f089cf185b
Let ResponseError render w/ 'text/plain; charset=utf-8' header ( #1118 ) ( #1119 )
...
* Let ResponseError render w/ 'text/plain; charset=utf-8' header (#1118 )
Trait ResponseError originally render Error messages with header
`text/plain` , which causes browsers (i.e. Firefox 70.0) with
Non-English locale unable to render UTF-8 responses with non-English
characters correctly. i.e. emoji.
This fix solved this problem by specifying the charset of `text/plain`
as utf-8, which is the default charset in rust.
Before actix-web consider to support other charsets, this hotfix is
enough.
Test case:
fn test() -> Result<String, actix_web::Error> {
Err(actix_web::error::ErrorForbidden("ðtest"))
}
* Update actix-http/CHANGES.md for #1118
2019-10-07 10:56:24 +06:00
Zac Pullar-Strecker
fba31d4e0a
Expose ContentDisposition in actix-multipart to fix broken doc link ( #1114 )
...
* Expose ContentDisposition in actix-multipart to fix broken doc link
* Revert "Expose ContentDisposition in actix-multipart to fix broken doc link"
This reverts commit e90d71d16c
.
* Unhide actix-http::header::common docs
These types are used in other exported documented interfaces and create
broken links if not documented.
See `actix_multipart::Field.content_disposition`
2019-10-02 09:48:25 +06:00
Nikolay Kim
5169d306ae
update ConnectionInfo.remote() doc string
2019-09-27 07:03:12 +06:00
Nikolay Kim
d9af8f66ba
Use actix-testing for testing utils
2019-09-25 10:28:41 +06:00
Sarfaraz Nawaz
aa39b8ca6f
Add support for serde_json::Value to be passed as argument to ResponseBuilder.body() ( #1096 )
...
* Add support for serde_json::Value to be passed as argument to ResponseBuilder.body()
* Update actix-http/CHANGES.md
2019-09-25 09:33:52 +06:00
nWacky
7c9f9afc46
Add ability to use Infallible
as HttpResponse
error type ( #1093 )
...
* Add `std::convert::Infallible` implementantion for `ResponseError`
* Add from `std::convert::Infallible` to `Error`
* Remove `ResponseError` implementantion for `Infallible`
* Remove useless docs
* Better comment
* Update changelog
* Update actix_http::changelog
2019-09-17 06:57:38 +06:00
Yuki Okushi
c1f99e0775
Remove mem::uninitialized()
( #1090 )
2019-09-16 07:52:23 +09:00
Nikolay Kim
a32573bb58
Allow to re-construct ServiceRequest from HttpRequest and Payload #1088
2019-09-13 11:56:24 +06:00
Nikolay Kim
60b7aebd0a
fmt & clippy
2019-09-12 21:52:46 +06:00
Nikolay Kim
043f763c51
prepare actix-http release
2019-09-11 20:07:39 +06:00
Dmitry Pypin
8873e9b39e
Added FrozenClientRequest for easier retrying HTTP calls ( #1064 )
...
* Initial commit
* Added extra_headers
* Added freeze() method to ClientRequest which produces a 'read-only' copy of a request suitable for retrying the send operation
* Additional methods for FrozenClientRequest
* Fix
* Increased crates versions
* Fixed a unit test. Added one more unit test.
* Added RequestHeaderWrapper
* Small fixes
* Renamed RequestHeadWrapper->RequestHeadType
* Updated CHANGES.md files
* Small fix
* Small changes
* Removed *_extra methods from Connection trait
* Added FrozenSendBuilder
* Added FrozenSendBuilder
* Minor fix
* Replaced impl Future with concrete Future implementation
* Small renaming
* Renamed Send->SendBody
2019-09-10 10:29:32 +06:00
Ronald Chan
5e8f1c338c
fix h2 not using error response ( #1080 )
...
* fix h2 not using error response
* add fix change log
* fix h2 service error tests
2019-09-09 16:24:57 +06:00
Nikolay Kim
c9400456f6
update actix-connect ver
2019-09-02 15:20:28 -07:00
Nikolay Kim
63ddd30ee4
on_connect result isnt added to request extensions for http2 requests #1009
2019-09-01 13:15:02 +06:00
Yuki Okushi
23d768a77b
Add explicit dyn
s ( #1041 )
...
* Add explicit `dyn`s
* Remove unnecessary lines
2019-08-17 02:45:44 +09:00
Nikolay Kim
55179d6ab2
update dependencies
2019-08-13 10:48:11 -07:00
Armin Ronacher
192dfff680
prepare actix-http 0.2.9 release
2019-08-13 15:20:29 +02:00
Armin Ronacher
915010e733
Fixes a bug in OpenWaitingConnection where the h2 flow would panic a future ( #1031 )
2019-08-13 14:55:04 +02:00
Lukas Lueg
b70de5b991
Update CHANGES.md
2019-08-07 16:43:03 +02:00
Lukas Lueg
0b9e692298
Remove byteorder-dependency
2019-08-06 18:32:36 +02:00
Nikolay Kim
cf1a60cb3a
prepare awc release
2019-08-01 15:41:14 -07:00
Nikolay Kim
0d15861e23
prepare actix-http release
2019-08-01 15:26:30 -07:00
Marat Safin
cb19ebfe0c
add rustls support for actix-http and awc ( #998 )
...
* add rustls support for actix-http and awc
* fix features conflict
* remove unnecessary duplication
* test server with rust-tls
* fix
* test rustls
* awc rustls test
* format
* tests
* fix dependencies
* fixes and add changes
* remove test-server and Cargo.toml dev-dependencies changes
* cargo fmt
2019-07-31 13:02:56 -07:00
Nikolay Kim
e9b4aa205f
Merge branch 'master' of github.com:actix/actix-web
2019-07-30 08:00:57 -07:00
Nikolay Kim
7674f1173c
fix awc client panic #1016
2019-07-30 08:00:46 -07:00
Sven-Hendrik Haase
511026cab0
Allow HeaderMap to be cloned ( #1014 )
...
* Allow HeaderMap to be cloned
* Add entry to changelog
2019-07-29 08:11:23 +04:00
Sven-Hendrik Haase
81ab37f235
Fix two dyn warnings ( #1015 )
2019-07-29 08:10:33 +04:00
Nikolay Kim
f3751d83f8
Modify response body only if encoder is not None #997
2019-07-22 11:35:00 +06:00
Nikolay Kim
b6ff786ed3
update dependencies
2019-07-18 17:50:10 +06:00
Nikolay Kim
9c3789cbd0
revert DateServiceInner changes
2019-07-18 17:37:41 +06:00
Armin Ronacher
29098f8397
Add support for downcasting response errors ( #986 )
...
* Add support for downcasting response errors
* Added test for error casting
2019-07-18 17:25:50 +06:00
Rotem Yaari
d03296237e
Log error results in Logger middleware ( closes #938 ) ( #984 )
...
* Log error results in Logger middleware (closes #938 )
* Log internal server errors with an ERROR log level
* Logger middleware: don't log 500 internal server errors, as Actix now logs them always
* Changelog
2019-07-18 14:31:18 +06:00
Aaron Hill
b36fdc46db
Remove several usages of 'unsafe' ( #968 )
...
* 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.
2019-07-18 04:45:17 +06:00
Nikolay Kim
2a2d7f5768
nightly clippy warnings
2019-07-17 15:53:51 +06:00
Nikolay Kim
ef3e1037a8
bump version
2019-07-17 14:18:26 +06:00
Nikolay Kim
baaa7b3fbb
Replace ClonableService with local copy
2019-07-17 13:55:44 +06:00
Nikolay Kim
7b1dcaffda
cleanup deprecation warning for Box<dyn>
2019-07-17 11:44:39 +06:00
Jeff Muizelaar
e1fcd203f8
Update the copyless version to 0.1.4 ( #956 )
...
< 0.1.4 failed to check for null when doing allocations which could lead to null dereferences.
2019-07-08 15:48:20 +06:00
messense
dbab55dd6b
Bump rand crate version to 0.7 ( #951 )
2019-07-01 09:37:03 +06:00
Nikolay Kim
d286ccb4f5
Add on-connect callback #946
2019-06-28 14:34:26 +06:00
Nikolay Kim
cac162aed7
update actix-http changes
2019-06-28 12:34:43 +06:00
anthonyjchriste
768859513a
Expose the max limit for payload sizes in Websocket Actors. #925 ( #933 )
...
* 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.
2019-06-28 10:49:03 +06:00
Tim Visée
1a24ff8717
Add builder function for HTTP 429 Too Many Requests status ( #931 )
2019-06-21 13:06:29 +06:00
messense
313ac48765
Use encoding_rs crate instead of unmaintained encoding crate ( #922 )
...
* Use encoding_rs crate instead of unmaintained encoding crate
* Update changelog
2019-06-18 12:43:25 +06:00
Nikolay Kim
d2b6502c7a
prepare actix-http release
2019-06-16 21:59:22 +06:00
Nikolay Kim
7c0f570845
Do not compress NoContent (204) responses #918
2019-06-16 21:54:17 +06:00
Nikolay Kim
a548b69679
fmt
2019-06-05 08:43:13 +06:00
Nikolay Kim
b1cfbdcf7a
prepare actix-http release
2019-06-02 13:05:22 +06:00
Nikolay Kim
666756bfbe
body helpers
2019-06-01 17:57:25 +06:00
Nikolay Kim
c2d7db7e06
prepare actix-web-actors release
2019-05-29 16:22:57 -07:00
Nikolay Kim
21418c7414
prep actix-http release
2019-05-29 16:15:12 -07:00
Nicolas Gotchac
a614be7cb5
Don't DISCONNECT from stream when reader is empty ( #870 )
...
* Don't DISCONNECT from stream when reader is empty
* Fix chunked transfer: poll_request before closing stream + Test
2019-05-29 20:37:42 +04:00
Nikolay Kim
1eb89b8375
remove debug prints
2019-05-25 03:16:53 -07:00
Nikolay Kim
7f12b754e9
Handle socket read disconnect
2019-05-25 03:07:40 -07:00
Nikolay Kim
f8af3b86e5
export set_date
2019-05-14 08:48:11 -07:00
Nikolay Kim
e9cbcbaf03
update dependencies
2019-05-12 10:18:02 -07:00
Nikolay Kim
beae9ca0f7
update changes
2019-05-12 09:57:16 -07:00
Nikolay Kim
07b9707ca1
prepare actix-http release
2019-05-12 09:56:55 -07:00
Nikolay Kim
df08baf67f
update actix-net dependencies
2019-05-12 08:34:51 -07:00
Nikolay Kim
3d1af19080
prepare actix-http release
2019-05-04 19:51:13 -07:00
Nikolay Kim
fc19ce41c4
Clean up response extensions in response pool #817
2019-05-03 15:26:34 -07:00
Otavio Salvador
6e00eef63a
awc: Fix typo on ResponseError documentation ( #815 )
...
* 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>
2019-05-03 14:30:00 -07:00
Nikolay Kim
f27beab016
fix case for transfer-encoding header name
2019-05-02 09:30:00 -07:00
Nikolay Kim
2bc937f6c3
prepare release
2019-04-24 12:50:44 -07:00
Nikolay Kim
f429d3319f
Read until eof for http/1.0 responses #771
2019-04-24 11:57:40 -07:00
Nikolay Kim
2e19f572ee
add tests for camel case headers rendering
2019-04-24 11:27:57 -07:00
Peter Ding
64f603b076
Support to set header names of ClientRequest
as Camel-Case ( #713 )
...
* 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
2019-04-24 10:48:49 -07:00
Nikolay Kim
9702b2d88e
add client h2 reuse test
2019-04-23 15:06:30 -07:00
Nikolay Kim
d2b0afd859
Fix http client pool and wait queue management
2019-04-23 14:57:03 -07:00
Nikolay Kim
5f6a1a8249
update version
2019-04-23 09:45:39 -07:00
Nikolay Kim
5d531989e7
Fix BorrowMutError panic in client connector #793
2019-04-23 09:42:19 -07:00
Nikolay Kim
5e4e95fb0a
update create version
2019-04-19 18:13:05 -07:00
Nikolay Kim
9f421b81b8
fix non-ssl connector
2019-04-19 18:10:53 -07:00
Nikolay Kim
fc9b14a933
allow to specify server address for http and ws requests
2019-04-19 18:03:44 -07:00
Nikolay Kim
7292d0b696
drop chrono and use i64 for max age
2019-04-19 17:23:17 -07:00
Kilerd Chan
791f22bbc8
replate time::Duration
with chrono::Duration
and add max_age_time
method ( #789 )
...
* 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`
2019-04-19 13:54:44 -07:00
Nikolay Kim
163ca89cf4
more tests
2019-04-17 17:48:25 -07:00
Nikolay Kim
c943e95812
update dependencies
2019-04-16 11:17:29 -07:00
Nikolay Kim
2986077a28
no need for feature
2019-04-16 10:32:48 -07:00
Nikolay Kim
3744957804
actix_http::encoding always available
2019-04-16 10:27:58 -07:00
Nikolay Kim
eb4f6b74fb
Merge branch 'master' of github.com:actix/actix-web
2019-04-16 09:58:07 -07:00
Nikolay Kim
a116c4c2c7
Expose peer addr via Request::peer_addr() and RequestHead::peer_addr
2019-04-16 09:54:02 -07:00
Travis Harmon
7f674febb1
add 422 to httpcodes.rs ( #782 )
2019-04-15 16:55:06 -07:00
Nikolay Kim
1eebd47072
fix warnings
2019-04-14 21:00:16 -07:00
Nikolay Kim
002c41a7ca
update trust-dns
2019-04-14 20:45:44 -07:00
Nikolay Kim
4f30fa9d46
Remove generic type for request payload, always use default
2019-04-13 14:50:54 -07:00
Nikolay Kim
1f2b15397d
prepare alpha5 release
2019-04-12 14:00:45 -07:00
Nikolay Kim
87167f6581
update actix-connect
2019-04-12 12:33:11 -07:00
Nikolay Kim
94d7a7f873
custom future for SendError service
2019-04-11 15:12:23 -07:00
Nikolay Kim
d86567fbdc
revert SendResponse::Error type
2019-04-11 14:18:58 -07:00
Nikolay Kim
d115b3b3ed
ws verifyciation takes RequestHead; add SendError utility service
2019-04-11 14:00:32 -07:00
Nikolay Kim
e55be4dba6
add FramedRequest helper methods
2019-04-10 19:57:34 -07:00
Nikolay Kim
12e1dad42e
export TestBuffer
2019-04-10 19:43:09 -07:00
Nikolay Kim
9d82d4dfb9
Fix body propagation in Response::from_error. #760
2019-04-10 12:43:31 -07:00
Nikolay Kim
9bb40c249f
add h1::SendResponse future; renamed to MessageBody::size
2019-04-10 12:24:17 -07:00
Nikolay Kim
c22a3a71f2
fix test
2019-04-08 19:07:11 -07:00
Nikolay Kim
9c9940d88d
update readme
2019-04-08 17:53:19 -07:00
Nikolay Kim
561f83d044
add upgrade service support to h1 dispatcher
2019-04-08 17:51:14 -07:00
Nikolay Kim
43d325a139
allow to specify upgrade service
2019-04-08 14:51:16 -07:00
Nikolay Kim
b921abf18f
set host header for http1 connections
2019-04-08 12:48:26 -07:00
Nikolay Kim
bc58dbb2f5
add async expect service test
2019-04-08 11:19:56 -07:00
Nikolay Kim
b1547bbbb6
do not set default headers
2019-04-08 11:09:57 -07:00
Nikolay Kim
a7fdac1043
fix expect service registration and tests
2019-04-08 10:31:29 -07:00
Nikolay Kim
53da55aa3c
alpha4 release
2019-04-07 23:42:05 -07:00
Nikolay Kim
aa78565453
use objects pool for HttpRequest; optimize nested services call
2019-04-07 23:06:21 -07:00
Nikolay Kim
3c650ca194
remove buffer capacity for payload
2019-04-07 10:40:45 -07:00
Nikolay Kim
219baf3323
remove PayloadWriter trait
2019-04-07 10:29:26 -07:00
Nikolay Kim
ec09d6fbe6
optimize encode headers and body split
2019-04-07 10:03:38 -07:00
Nikolay Kim
748289f0ff
use custom headers map; more optimizations
2019-04-06 15:02:02 -07:00
Nikolay Kim
3872d3ba5a
refactor h1 dispatcher
2019-04-06 08:12:58 -07:00
Nikolay Kim
fbedaec661
add expect: 100-continue support #141
2019-04-05 16:46:44 -07:00
Nikolay Kim
02fcaca3da
add backward compatibility
2019-04-05 11:36:26 -07:00
Darin
18593d8476
updated Connector docs and renamed service() to finish() ( #757 )
...
* added Connector to actix-web::client namespace
* updated Connector, renaming service() to finish() and adding docs
* added doc for finish method on Connector
2019-04-05 11:34:27 -07:00
Nikolay Kim
b6dacaa23a
remove SendError and SendResponse services
2019-04-05 11:29:42 -07:00
Nikolay Kim
f89321fd01
fix import
2019-04-05 10:50:11 -07:00
Nikolay Kim
0d4a8e1b1c
update actix-connect
2019-04-05 10:35:14 -07:00
nasa
a655bdac52
Fix clippy warning ( #755 )
2019-04-05 12:34:24 +03:00
Nikolay Kim
309c480782
encoder sent uncompressed data before compressed
2019-04-04 15:03:40 -07:00
Nikolay Kim
1f5c0f50f9
Add minimal std::error::Error impl for Error
2019-04-04 13:23:38 -07:00
Nikolay Kim
d8bc66a18e
Use thread pool for response body comression
2019-04-04 13:17:55 -07:00
Nikolay Kim
bc834f6a03
remove some static contraints
2019-04-04 10:59:34 -07:00
Nikolay Kim
1e2bd68e83
Render error and return as response body
2019-04-03 19:55:19 -07:00
Nikolay Kim
954fe21751
set response error body
2019-04-03 19:07:25 -07:00
Nikolay Kim
dfa0abf5a5
Export IntoHeaderValue
2019-04-03 12:44:47 -07:00
Nikolay Kim
e738361e09
move multipart support to separate crate
2019-04-03 12:28:58 -07:00
Nikolay Kim
f56072954b
remove PayloadBuffer
2019-04-03 03:20:20 -07:00
Nikolay Kim
442f5057dd
alpha.3 release
2019-04-02 21:49:31 -07:00
Nikolay Kim
51d5006ccf
Detect socket disconnection during protocol selection
2019-04-02 20:50:25 -07:00
Nikolay Kim
4227cddd30
fix dev dependencies
2019-04-02 15:00:10 -07:00
Nikolay Kim
db1f7651a3
more patch cratesio
2019-04-02 14:47:59 -07:00
Nikolay Kim
bca31eb7ad
remove Deref
2019-04-02 13:35:01 -07:00
Nikolay Kim
49a499ce74
properly allocate read buffer
2019-04-02 11:11:32 -07:00
Nikolay Kim
c27fbdc35f
Preallocate read buffer for h1 codec, #749
2019-04-02 10:19:56 -07:00
Nikolay Kim
96fd61f3d5
rust 1.31.0 compatibility
2019-04-01 10:26:09 -07:00
Nikolay Kim
e4b3f79458
allocate enough space
2019-03-31 17:05:02 -07:00
Nikolay Kim
ce8294740e
fix tests with disabled features
2019-03-31 17:04:34 -07:00
Llaurence
ddf5089bff
Warn when an unsealed private cookie isn't valid UTF-8 ( #746 )
2019-03-31 16:26:56 +03:00
Nikolay Kim
a20b9fd354
prepare aplha2 release
2019-03-29 22:06:14 -07:00
Nikolay Kim
d846328f36
fork cookie crate
2019-03-29 21:13:39 -07:00
Nikolay Kim
193f8fb2d9
update tests
2019-03-29 18:51:07 -07:00
Nikolay Kim
3a954298d7
Merge branch 'master' of github.com:actix/actix-web
2019-03-29 18:23:07 -07:00
Nikolay Kim
3220777ff9
Added ws::Message::Nop, no-op websockets message
2019-03-29 18:22:49 -07:00
Douman
00526f60dc
Impl BodyEncoding for Response ( #740 )
2019-03-29 16:29:11 -07:00
Nikolay Kim
c126713f40
add rustls support to HttpServer
2019-03-29 16:28:32 -07:00
Nikolay Kim
19a0b8046b
remove actix reference
2019-03-29 11:13:36 -07:00
Nikolay Kim
1e7096a63a
add request timeout
2019-03-28 22:33:41 -07:00
Nikolay Kim
3b897da8e2
Do not use thread pool for decomression if chunk size is smaller than 2048
2019-03-28 21:15:26 -07:00
Nikolay Kim
a2c9ff3a33
back to development
2019-03-28 14:10:03 -07:00
Nikolay Kim
9c198a0d29
alpha.1 release
2019-03-28 13:46:26 -07:00
Nikolay Kim
9cca86e60d
prepear actix-http release
2019-03-28 12:45:41 -07:00
Nikolay Kim
5795850bbb
decompress payload in cpu threadpool
2019-03-28 11:08:24 -07:00
Nikolay Kim
e84c95968f
reuse PayloadBuffer from actix-http
2019-03-28 05:34:33 -07:00
Nikolay Kim
4309d9b88c
port multipart support
2019-03-28 05:04:39 -07:00
Nikolay Kim
c59937784e
add client websockets support
2019-03-27 18:53:19 -07:00
Nikolay Kim
e254fe4f9c
allow to override response body encoding
2019-03-27 11:29:31 -07:00
Nikolay Kim
3edc515bac
refactor RequestHead/ResponseHead
2019-03-27 10:38:01 -07:00
Nikolay Kim
fb9c94c3e0
remove Backtrace from error
2019-03-27 09:31:07 -07:00
Nikolay Kim
faa3ea8e5b
rename BodyLength to BodySize
2019-03-27 09:24:55 -07:00
Nikolay Kim
d49a8ba53b
add client TestResponse
2019-03-26 21:57:04 -07:00
Nikolay Kim
1cca25c276
add client decompression support
2019-03-26 20:45:00 -07:00
Nikolay Kim
2629699b62
rename flate2-c feature to flate2-zlib
2019-03-26 18:46:06 -07:00
Nikolay Kim
1904b01fc0
add content-encoding decompression
2019-03-26 15:14:32 -07:00
Nikolay Kim
9451ba71f4
update cargo files
2019-03-26 12:50:51 -07:00
Nikolay Kim
50c0ddb3cd
update tests
2019-03-26 12:31:51 -07:00
Nikolay Kim
c7ad677804
Merge actix-http project
2019-03-26 11:54:35 -07:00