llde
38ad90307d
Preserve Authorization in same host redirects, when scheme and port are equals
2021-12-19 11:00:39 +01:00
soruh
61e2402045
deprecate using SerdeValue, SerdeMap and serde_to_value
...
as they are just wrapper around serde_json::{Value, Map, to_value}.
Instead expose the serde_json and serde crates used.
2021-12-17 20:12:07 +01:00
soruh
59f1fab4d3
allow send_json to send any serde::Serialize value
2021-12-17 20:12:07 +01:00
Jacob Hoffman-Andrews
56276c3742
Add support for alternate TLs implementations.
2021-12-17 17:47:30 +01:00
Malloc Voidstar
1c1dfaa691
Bump rustls to 0.20.1; add src to rustls error ( #438 )
2021-12-17 00:32:00 -08:00
Martin Algesten
a6d1750f14
Fix native-certs and add to test matrix
...
Close #239
2021-11-28 22:45:16 +01:00
Jochen Kupperschmidt
69ad3aabb0
Add shortcuts for PATCH (again)`
2021-11-26 13:50:29 +01:00
Malloc Voidstar
31dd67380e
Return error for InvalidDnsNameError, don't panic ( #436 )
...
Can't provide src for the error as rustls 0.20 didn't implement stdlib Error for it; it's on main and targeted for 0.20.1.
2021-11-12 17:15:39 -08:00
Jacob Hoffman-Andrews
f22e67be4c
Fix agent test.
2021-10-21 07:38:59 +02:00
Jacob Hoffman-Andrews
3bc7d8336b
Fix lint
2021-10-21 07:38:59 +02:00
Jacob Hoffman-Andrews
5fa912c4d3
Update to rustls 0.20, webpki 0.22
2021-10-21 07:38:59 +02:00
Andrew Hickman
eb78813df5
Redact sensitive headers when logging prelude ( #415 )
...
Closes #414
2021-10-05 08:57:16 -07:00
Jon Gjengset
1ec60e1c15
Remove trailing newline from testing response
...
The newline becomes part of the response body, even though it was not passed in
as `body`, which makes `Response::new` difficult to use with anything that
checksums data contents for example. Arguably there should also be a mechanism
for passing in `[u8]` bodies, but that's for a separate feature request.
2021-10-02 18:51:59 +02:00
Jacob Hoffman-Andrews
535bc4b4cb
Remove two unused fields. ( #425 )
...
Co-authored-by: Michael Richardson <mcr@sandelman.ca >
2021-10-02 01:04:36 -07:00
Martin Algesten
551f4289fb
Update all dependencies
...
webpki and webpki roots are not compatible with current rustls,
so they are held back.:wq
2021-08-23 21:21:39 +02:00
Martin Algesten
485647d5de
Fix proxy urls that end with trailing slash
...
Close #402
2021-08-23 20:57:29 +02:00
Martin Algesten
641eb3df10
Fix overlapping redirect tests
...
Two tests were using /redirect_post1, which breaks if they are running in parallel.
2021-08-23 20:52:08 +02:00
Keijia
2869a80130
oh, use None != proto instead of proto.is_some()
2021-08-23 20:46:44 +02:00
Keijia
c7292919e5
fix build fails
2021-08-23 20:46:44 +02:00
Keijia
f6f021cdbb
highlight that socks:// prefix is equal to socks5://
2021-08-23 20:46:44 +02:00
Keijia
35c472507b
whoops, fix tests for socks4://and socks4a://
2021-08-23 20:46:44 +02:00
Keijia
401d051bd1
add socks4a:// and socks:// tests
2021-08-23 20:46:44 +02:00
Keijia
12b49e59f4
whoops, fix HTTPConnect proxies
2021-08-23 20:46:44 +02:00
Keijia
37e19b34ec
add socks4 to readme
2021-08-23 20:46:44 +02:00
Keijia
bdaa9fc68c
add support for socks4 and socks4a
2021-08-23 20:46:44 +02:00
Martin Algesten
526eb7b9e0
Fix clippy lints
2021-08-23 20:45:33 +02:00
Jelle Besseling
6797258e9d
Use debug logs when making requests
2021-08-14 14:36:25 +02:00
Niketh Murali
4665b0aa5a
Fix clippy warnings
...
Fix linter warning from clippy about unnecessary borrows - "This expression borrows a reference ... that is immediately dereferenced by the compiler"
2021-08-13 09:26:04 +02:00
Tshepang Lekhonkhobe
eb04d96af8
Fix a typo ( #397 )
2021-07-09 09:10:22 -07:00
Gus Power
37e1e91e22
Clear Content-Length header from redirected requests ( #394 )
...
This PR removes the Content-Length header from subsequent redirect requests if set.
A test verifies the new behaviour.
2021-06-18 16:12:31 -07:00
Martin Algesten
989995d1ba
Fix clippy lints ( #387 )
2021-05-11 18:05:17 -07:00
Berrysoft
c06c345f28
Remove extra clone when request with Url
2021-05-11 20:18:34 +02:00
12932
db5203d1a0
fix typo "memroy" to "memory" ( #379 )
2021-04-26 11:41:26 -07:00
Jacob Hoffman-Andrews
50d9ccff8c
Don't reuse conns with bytes pending from server ( #372 )
...
This makes us less likely to try and reuse a closed connection, which
produces problems in particular for requests that can't be retried.
Fixes #361
Fixes #124
2021-04-18 10:46:20 -07:00
Martin Algesten
4ade506047
Allow upper_case_acronyms
2021-04-17 12:30:39 +02:00
Martin Algesten
3cfa9e6b35
Refactor into_string body reading
2021-03-25 21:49:39 +01:00
Martin Algesten
7c6ed53df3
Move Response::unit and stream to the heap
2021-03-25 21:04:12 +01:00
Martin Algesten
cfaca317c6
Provide url in Response Debug impl
2021-03-25 07:45:34 +01:00
Jacob Hoffman-Andrews
3044ae7efd
Add size limits on responses ( #351 )
...
This prevents a malicious server from running the client out of memory
by returning a very large body.
Limit into_string() to 1 megabyte.
Limit individual header fields to 100 kilobytes.
Limit number of header fields to 100.
Part of #267
2021-03-24 13:28:23 -07:00
Martin Algesten
40e156e2a3
Url access functions for Request (simpler)
2021-03-24 20:58:47 +01:00
Martin Algesten
b42e9afd71
Fix clippy warnings
2021-03-24 20:29:43 +01:00
Martin Algesten
ea53c7cedd
Use is_tchar for cookie name check
2021-03-24 20:09:27 +01:00
Martin Algesten
5c9b1b9a0c
Enforce cookie RFC name/value rules
2021-03-24 20:09:27 +01:00
Martin Algesten
c5c40cf138
Stop percent encoding cookies
2021-03-24 20:09:27 +01:00
Jacob Hoffman-Andrews
a34d450657
Remove specialized error message for complete_io. ( #349 )
...
This was triggering for errors like InvalidCertificate and giving the
message "Sometimes this means the host doesn't support any of the same
ciphersuites as rustls, or doesn't support TLS 1.2 and above," which is
confusing in that situation.
For now, offer no specialized error. I'd like to come back when I find
more time and restore this, but only for the error cases where it's
useful.
2021-03-23 17:00:09 -07:00
Martin Algesten
026cf75690
Handle non-utf8 status and headers
...
Non-utf8 headers are ignored and reading the value for them will
yield `None`.
2021-03-14 23:14:43 +01:00
Martin Algesten
9a9dd4ee6c
Upgrade cookie to 0.15 and cookie_store to 0.13.0
...
cookie_store default features pulls in reqwest, so we stop that
by specifying the exact features wanted.
2021-03-14 19:00:28 +01:00
Martin Algesten
0dc609fc30
Ensure Error and Response implement Send+Sync
...
This is to ensure we don't accidentally introduce breaking changes
with respects to Send and Sync.
2021-03-14 19:00:04 +01:00
Martin Algesten
91cb0ce5fc
Move unit tests inside conditionally compiled mod tests { } blocks
...
Idiomatic rust organizes unit tests into `mod tests { }` blocks
using conditional compilation `[cfg(test)]` to decide whether to
compile the code in that block.
This commit moves "bare" test functions into such blocks, and puts
the block at the bottom of respective file.
2021-03-14 18:56:09 +01:00
Martin Algesten
239ba342a2
Provide .method() and .query_params()
2021-03-14 09:46:40 +01:00