1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-11-24 00:21:08 +01:00
Commit Graph

194 Commits

Author SHA1 Message Date
Rob Ede
a2f59c02f7
bump actix-server to beta 9 (#2442) 2021-11-15 04:03:33 +00:00
fakeshadow
5e554dca35
fix awc clippy warning (#2431) 2021-11-04 15:57:55 +00:00
fakeshadow
d13854505f
move actix_http::client module to awc (#2425) 2021-10-26 00:37:40 +01:00
Omid Rad
53ec66caf4
Send headers within the redirect requests. (#2310) 2021-09-01 20:16:41 +01:00
Igor Aleksanov
262c6bc828
Various refactorings (#2281)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-06-26 15:33:43 +01:00
Rob Ede
93aa86e30b
clippy 2021-06-24 15:11:01 +01:00
Rob Ede
73a655544e
tweak compress feature docs 2021-06-19 20:23:06 +01:00
Arthur Le Moigne
baa5a663c4
Select compression algorithm using features flags (#2250)
Add compress-* feature flags in actix-http / actix-web / awc.
This allow enable / disable not wanted compression algorithm.
2021-06-19 20:21:13 +01:00
Rob Ede
532f7b9923
refined error model (#2253) 2021-06-17 17:57:58 +01:00
Rob Ede
981c54432c
remove json and url encoded form support from -http (#2148) 2021-04-12 10:30:28 +01:00
Rob Ede
44c55dd036
remove cookie support from -http (#2065) 2021-04-09 18:07:10 +01:00
Rob Ede
c54a0713de
migrate integration testing to new crate (#2112) 2021-04-02 08:26:59 +01:00
Ibraheem Ahmed
50dc13f280
move typed headers and implement FromRequest (#2094)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-04-01 16:42:18 +01:00
Rob Ede
c8ed8dd1a4
migrate to -utils beta 4 (#2127) 2021-04-01 15:26:13 +01:00
fakeshadow
1f1be6fd3d
add Client::headers (#2114) 2021-03-31 11:43:56 +01:00
fakeshadow
222acfd070
Fix build for next actix-tls-beta release (#2122) 2021-03-29 13:45:48 +01:00
fakeshadow
8c2ce2dedb
fix awc compress feature (#2116) 2021-03-25 22:47:37 +00:00
Rob Ede
3188ef5731
don't use rust annotation on code doc blocks 2021-03-25 08:45:52 +00:00
fakeshadow
9704beddf8
Relax MessageBody limit to 2048kb (#2110)
* relax MessageBody limit to 2048kb

* fix clippy

* Update awc/src/response.rs

Co-authored-by: Rob Ede <robjtede@icloud.com>

* fix default body limit

Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-03-24 04:44:03 -07:00
fakeshadow
b75b5114c3
refactor actix_http connection types and connector services (#2081) 2021-03-18 17:53:22 +00:00
fakeshadow
c8f6d37290
rename client io trait. reduce duplicate code (#2079) 2021-03-16 16:31:14 +00:00
fakeshadow
a2b0e86632
simplify connector generic type (#2063) 2021-03-10 23:57:32 +00:00
Rob Ede
95130fcfd0
address clippy warnings 2021-03-08 20:32:19 +00:00
fakeshadow
5b4105e1e6
Refactor/client builder (#2053) 2021-03-07 23:57:32 +00:00
Rob Ede
ca69b6577e
use iota for more content-length insertions (#2050) 2021-03-07 19:29:02 +00:00
Rob Ede
cd652dca75
refactor websocket key hashing (#2035) 2021-02-28 19:55:34 +00:00
fakeshadow
c836de44af
add client middleware (#2013) 2021-02-28 18:17:08 +00:00
fakeshadow
badae2f8fd
add local_address bind for client builder (#2024) 2021-02-27 22:31:14 +00:00
fakeshadow
946cccaa1a
refactor awc::ClientBuilder (#2008) 2021-02-18 12:30:09 +00:00
fakeshadow
dfd9dc40ea
remove awc::connect::connect trait. (#2004) 2021-02-17 17:10:46 +00:00
fakeshadow
5efea652e3
add ClientResponse::timeout (#1931) 2021-02-17 11:55:11 +00:00
fakeshadow
117025a96b
simplify client::connection::Connection trait (#1998) 2021-02-16 14:10:22 +00:00
Rob Ede
55db3ec65c
split up http body module 2021-02-15 12:20:43 +00:00
Rob Ede
3279070f9f
optional cookies features (#1981) 2021-02-13 15:08:43 +00:00
Rob Ede
4fc7d76759
s/websocket/WebSocket in docs 2021-02-12 00:27:20 +00:00
Rob Ede
31d9ed81c5
change rustfmt line width to 96 2021-02-11 23:03:17 +00:00
Rob Ede
77efc09362
hide httpmessage mod 2021-02-11 22:58:40 +00:00
Rob Ede
949d14ae2b
clean up header map (#1964) 2021-02-09 22:59:17 +00:00
fakeshadow
4c243cbf89
simplify methods of awc::connect::Connect trait (#1941) 2021-02-07 18:56:39 +00:00
fakeshadow
41bc04b1c4
Use immutable reference of service state. Update awc dns resolver. (#1905) 2021-02-07 01:00:40 +00:00
Rob Ede
b1dd8d28bc
response header rework (#1869) 2021-01-15 02:11:10 +00:00
Rob Ede
6575ee93f2
big clean up and docs improvmenet of types mod (#1894) 2021-01-09 13:17:19 +00:00
Rob Ede
2204614134
don't run awc doctests that rely on external public endpoints (#1888) 2021-01-08 12:00:58 +00:00
Rob Ede
dc23559f23
address clippy lints 2021-01-07 02:04:26 +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
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
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
156c97cef2
prepare awc release 2.0.1 2020-10-30 02:50:53 +00:00
Rob Ede
4cb833616a
deprecate builder if-x methods (#1760) 2020-10-30 02:10:05 +00:00
Jonas
06e5042b94
use idenity encoding on client if no compression features are enabled (#1737)
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-24 21:15:01 +01:00
Igor Aleksanov
121075c1ef
awc: Rename Client::build to Client::builder (#1665) 2020-09-11 09:24:39 +01:00
Rob Ede
7787638f26
fix CI clippy warnings (#1664) 2020-09-10 14:46:35 +01:00
Igor Aleksanov
3a27580ebe
awc: improve module documentation (#1656)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-09-09 14:24:12 +01:00
Igor Aleksanov
c54d73e0bb
Improve awc websocket docs (#1654)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-09-07 12:04:54 +01:00
Rob Ede
8497b5f490
integrate with updated actix-{codec, utils} (#1634) 2020-08-24 10:13:35 +01:00
Yuki Okushi
92b5bcd13f
Check format and tweak CI config (#1619) 2020-07-22 00:28:33 +01:00
Rob Ede
0ec335a39c
bump MSRV to 1.42 (#1616) 2020-07-21 16:40:30 +09:00
Patrick Tescher
e10eb648d9
Fix leaks with actix_http's client (#1580) 2020-07-10 22:35:22 +01:00
Rob Ede
eb0eda69c6
migrate cookie handling to cookie crate (#1558) 2020-06-19 14:34:14 +01:00
Yuki Okushi
d7abbff3b0
awc: Minimize futures dependencies 2020-05-19 08:29:12 +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
Otavio Salvador
7e0d898d5a Fix clippy warnings
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-03-12 00:52:21 -03:00
Yuki Okushi
e718f65121
Update tests 2020-03-08 16:42:45 +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
Yuki Okushi
b4d63667df Demote lint level to warn 2020-02-27 22:39:11 +09:00
Nikolay Kim
cb705317b8 compile with default-features off 2019-12-15 13:28:54 +06:00
Nikolay Kim
c1deaaeb2f cleanup imports 2019-12-13 11:24:57 +06:00
Nikolay Kim
4a8a9ef405 update tests and clippy warnings 2019-12-08 12:31:16 +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
205a964d8f upgrade to tokio 0.2 2019-12-05 23:35:43 +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
1f0577f8d5 cleanup api doc examples 2019-11-21 16:02:17 +06:00
Nikolay Kim
b510527a9f update awc 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
Jonathas Conceição
f0612f7570 awc: Add support for setting query from Serialize type for client request (#1130)
Signed-off-by: Jonathas-Conceicao <jadoliveira@inf.ufpel.edu.br>
2019-10-26 08:27:14 +03:00
Sven-Hendrik Haase
23f04c4f38 Add remaining getter methods from private head field 2019-09-25 08:50:45 +02:00
Nikolay Kim
60b7aebd0a fmt & clippy 2019-09-12 21:52:46 +06:00
Nikolay Kim
45d2fd4299 export frozen request related types; refactor code layout 2019-09-12 10:40:56 +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
Eugene Bulkin
8d61fe0925 Ensure that awc::ws::WebsocketsRequest sets the Host header (#1070)
* Ensure that awc::ws::WebsocketsRequest sets the Host header before connecting.

* Make sure to check if headers already have a HOST value before setting

* Update CHANGES.md to reflect WebSocket client update.
2019-09-09 12:27:13 +06:00
Nikolay Kim
55179d6ab2 update dependencies 2019-08-13 10:48:11 -07:00
Nikolay Kim
2a2d7f5768 nightly clippy warnings 2019-07-17 15:53:51 +06:00
Nikolay Kim
4092c7f326 clippy warnings 2019-07-17 15:08:30 +06:00
Nikolay Kim
7b1dcaffda cleanup deprecation warning for Box<dyn> 2019-07-17 11:44:39 +06:00
Nikolay Kim
69456991f6 update api doc example for client and add panic info for connection_info 2019-07-11 14:40:37 +06:00
Alec Moskvin
d2eb1edac3 Actix-web client: Always append a colon after username in basic auth (#949)
* Always append a colon after username in basic auth

* Update CHANGES.md
2019-07-01 09:34:42 +06:00
Nikolay Kim
ff724e239d move identity service separate crate 2019-06-12 15:52:48 +06:00
Nikolay Kim
df08baf67f update actix-net dependencies 2019-05-12 08:34:51 -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
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
fc9b14a933 allow to specify server address for http and ws requests 2019-04-19 18:03:44 -07:00
Nikolay Kim
bfe0df5ab0 update tests 2019-04-18 21:28:23 -07:00
Nikolay Kim
b64851c5ec enable runtime for test:: methods 2019-04-17 10:28:27 -07:00
Nikolay Kim
cc8420377e pass request ownership to closure instead of ref 2019-04-16 15:43:55 -07:00
Nikolay Kim
ab4fda6084 update tests 2019-04-14 20:20:33 -07:00