Commit Graph

196 Commits

Author SHA1 Message Date
Paolo Barbolini
4e744f87c1 Keep the old Response::into_json around and call this Response::into_json_deserialize 2020-05-06 13:47:37 +02:00
Paolo Barbolini
0b69c595b6 Make Response::into_json deserialize into a serde DeserializeOwned
This removes the necessity to take the result of Response::into_json and
having to convert it into a struct by using serde_json::from_value

This adds no new dependencies since serde_json already depends on serde.
Users of ureq will have to include `serde_derive` either by importing it
directly or by using serde with the `derive` feature, unless they want to
manually implement `Deserialize` on their structs.
2020-05-06 13:47:37 +02:00
sklv
8f2d094cef SOCKS5: If host is domain use proxy for DNS. 2020-04-18 11:47:50 +02:00
Martin Algesten
a75d924f96 fix some warnings by moving imports around 2020-04-18 11:47:49 +02:00
bbx0
8c2d035809 Clean up dependencies 2020-04-18 11:47:49 +02:00
bbx0
55f42a614b Use &str instead of AsRef<str> to be consistent with the API 2020-04-18 11:47:49 +02:00
bbx0
3bedf9ab69 Add support for application/x-www-form-urlencoded 2020-04-18 11:47:49 +02:00
sklv
92b4e7ec2c Add TODO for supporting timeouts in Socks5Proxy. 2020-04-18 11:47:47 +02:00
sklv
a598b1091b Add comment explaining thread::spawn timeout. 2020-04-18 11:47:44 +02:00
sklv
b0898ae8fd Add comment explaining Proxy::new argument format. 2020-04-18 11:47:40 +02:00
sklv
9928559067 Make SOCKS5 connection respect timeout_connect. 2020-04-18 11:47:37 +02:00
sklv
05ce690ebd Add initial SOCKS5 support. 2020-04-18 11:47:30 +02:00
Koga Kazuo
e5fa36f98e Fix panic on invalid authority 2020-04-12 09:41:35 +02:00
Koga Kazuo
661853b95d Check status code that has no response body 2020-04-12 09:10:39 +02:00
Nicolas Viennot
31ae90e614 Use platform certificates when target "native-certs" is set
This is useful in Entreprise configurations.
2020-04-12 09:08:52 +02:00
Nicolas Viennot
652500f5a8 Improve chunked transfer upload performance
This implementation improves over chunked_transfer's Encoder + io::copy
with the following performance optimizations:

1) It avoid copying memory
2) chunked_transfer's Encoder issues 4 separate write() per chunk.
   This is costly overhead. Instead, we do a single write() per chunk

The measured benefit on a Linux machine is a 50% reduction in CPU usage
on a https connection.
2020-04-06 09:15:41 +02:00
rustysec
bb498ce699 added basic authentication method 2020-03-14 09:54:54 +01:00
rustysec
3b0df412ef initial proxy impl 2020-03-14 09:54:54 +01:00
Martin Algesten
2956683870 bump deps, fix clippy warnings 2020-03-14 09:54:54 +01:00
Rob Young
28bdb89175 Set a default content type for JSON requests
When sending a JSON request a Content-Type of application/json is
usually wanted. This is often set as a default for JSON methods by HTTP
clients so can be confusing when it is not set. However, we do not want
to prevent the user from setting their own Content-Type.
2020-02-06 07:57:00 +01:00
Razvan Rotari
09dabbdd49 Disable the native system timeout for socket 2020-01-17 23:15:26 +01:00
Martin Algesten
a4bae72fcb cargo fmt 2020-01-07 08:08:12 +01:00
Martin Algesten
63cfcfb23e doc format 2020-01-07 08:07:51 +01:00
Martin Algesten
4b9cfe2b67 fix clippy lints 2020-01-07 07:59:29 +01:00
Martin Algesten
a6f64188dc update serde_macros from origin 2020-01-07 07:59:29 +01:00
Tom Forbes
594340a096 Fix compilation errors with the cookies feature (#22)
* Fix compilation errors with the cookies feature
2019-10-30 11:51:06 +01:00
Martin Algesten
753d61b454 Retry some pooled connections failing when server closes. Close #10
This is not a perfect solution. It works as long as we are not sending
any body bytes. We discover the error first when attempting to read
the response status line. That means we discover the error after
sending body bytes. To be able to re-send the body, we would need to
introduce a buffer to be able to replay the body on the next
request. We don't currently do that.
2019-10-20 21:36:38 +02:00
Tom Forbes
da42f2ed8f Make cookies conditional 2019-10-20 20:17:35 +02:00
Martin Algesten
d9b8fef9a0 Code comment on *mut Stream effect on thread safety 2019-10-20 14:08:21 +02:00
Martin Algesten
acffc5fe13 Rename YoloRead -> ReclaimingRead
To better reflect why this is necessary. Also provide a doc comment why this is needed.
2019-10-20 12:31:55 +02:00
Martin Algesten
27be8117b8 Avoid tuple to describe response status line 2019-10-20 12:25:54 +02:00
Martin Algesten
d8f8220c3c clippy fix warning 2019-10-20 11:49:20 +02:00
Martin Algesten
acb40cc1a3 Fail if PoolKey::new() cant find port 2019-10-20 11:45:37 +02:00
Martin Algesten
f58ecac620 Simpler comparison for retaining x- headers 2019-10-20 11:19:16 +02:00
Martin Algesten
999653e7f3 handle header with spaces before value 2019-10-20 10:58:16 +02:00
Martin Algesten
e936d5ea74 cargo fmt 2019-10-20 10:41:35 +02:00
Martin Algesten
ed999b579d Removing AsciiString dep and one unsafe
This library is not about enforcing standards, so the internal use of
AsciiString for headers and status lines is not necessary.
2019-10-20 10:40:30 +02:00
Martin Algesten
c2bb5a9592 fix test --no-default-features 2019-09-14 08:41:59 +02:00
Martin Algesten
afa0cf9444 Merge pull request #9 from FauxFaux/close_notify
Map CloseNotify to EOF
2019-09-11 14:55:13 +02:00
Chris West (Faux)
a97dfcb408 fix warnings 2019-09-09 19:54:45 +01:00
Chris West (Faux)
580e159268 handle server CloseNotifying connection 2019-09-09 19:52:48 +01:00
Martin Algesten
fef05fd5c9 send_bytes 2019-06-21 15:53:45 +02:00
Martin Algesten
9d069b60b4 fix tests 2019-06-21 15:53:23 +02:00
Martin Algesten
32279c84e0 impl std::error::Error for Error close #6 2019-06-21 15:14:58 +02:00
Martin Algesten
41b21d37e4 fix clippy warnings 2019-06-21 15:09:36 +02:00
Chris West (Faux)
ceb7c3ac14 use pub(crate) instead of include!() 2019-05-27 17:44:14 +01:00
Chris West (Faux)
73d1c89e90 rustfmt 2019-05-27 17:25:43 +01:00
Martin Algesten
a89150eee7 fix warning in --no-default-features 2019-03-30 11:34:35 +01:00
Martin Algesten
d4d68ae585 fix parse error when no status text. close #4 2019-03-30 11:29:53 +01:00
Martin Algesten
22e83fc31c fixes for no-default-features 2019-02-03 12:05:27 +05:30