Sean McArthur
54bf6adeee
fix(ssl): use secure ciphers by default in openssl
2016-05-09 12:47:09 -07:00
Sean McArthur
e7229480ea
fix(warnings): remove unused_code warnings from newest nightlies
2016-05-09 11:51:51 -07:00
Sean McArthur
01160abd92
feat(ssl): enable hostname verification by default for OpenSSL
...
Additionally disables SSLv2 and SSLv3, as those are universally considered
unsafe.
Closes #472
2016-05-08 10:04:37 -07:00
Sean McArthur
17f818e5c1
Merge pull request #781 from hyperium/pool-mutex-race
...
fix(client): fix panic in Pool::connect
2016-05-05 12:16:47 -07:00
Sean McArthur
e51bafe2e4
fix(client): fix panic in Pool::connect
...
Closes #780
2016-05-05 10:45:16 -07:00
Manish Goregaokar
b840963629
docs(*): Clippy fixes with markdown docs
2016-05-05 22:50:23 +05:30
Sean McArthur
f36c6b255f
feat(client): proper proxy and tunneling in Client
...
Closes #774
2016-05-02 12:33:49 -07:00
Sean McArthur
25010fc1fc
feat(client): add Proxy support
...
This works by configuring proxy options on a `Client`, such as
`client.set_proxy("http", "127.0.0.1", "8018")`.
Closes #531
2016-04-25 15:49:57 -07:00
Sean McArthur
5fcc04a6cd
perf(client): dont keep Pool mutex locked during getaddrinfo
2016-04-25 15:36:55 -07:00
Simon Sapin
8fa7a98968
refactor(hyper): Update to rust-url 1.0
...
BREAKING CHANGE: The re-exported Url type has breaking changes.
2016-04-21 16:14:08 -07:00
Steven Fackler
f37315b270
feat(net): Add Ssl impls for security-framework
...
Cloese #755
2016-04-16 16:20:52 -07:00
Steven Fackler
2c86e8078e
feat(net): Split Ssl into SslClient and SslServer
...
SSL libraries other than OpenSSL don't necessarily have the ability to
easily create server and client side connections at the same time. This
is backwards compatible due to blanket impls.
Closes #756
2016-04-05 21:48:53 -07:00
Sean McArthur
bc3878de36
Merge pull request #750 from calebmer/feat/prefer
...
feat(header): add prefer and preference applied headers
2016-03-31 18:56:58 -07:00
calebmer
6f6493010a
feat(header): add prefer and preference applied headers
...
Closes #747
2016-03-31 15:46:34 -04:00
Sean McArthur
cbf83a4d5a
Merge pull request #751 from hyperium/per-tag-docs
...
chore(docs): publish docs per version
2016-03-24 19:52:47 -07:00
Sean McArthur
905e0d2ff4
chore(docs): publish docs per version
2016-03-24 18:57:23 -07:00
Steven Allen
70c6914217
fix(headers): correctly handle repeated headers
...
HeaderX: a
HeaderX: b
MUST be interpreted as
HeaderX: a, b
See: https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
Fixes #683
2016-03-24 14:19:15 -07:00
Danilo Bargen
eedd5b73ee
docs(headers): Remove charset from json() docs
...
Leftover from ec568e9a55 .
2016-03-15 12:33:32 +01:00
Jonathan Giddy
93fd5a87bd
feat(status): add HTTP statuses 421 and 451
...
The official IANA list at
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
has two new status codes that are missing from the hyper status list.
2016-03-14 10:31:54 +00:00
Sean McArthur
d1f9f5f694
Merge pull request #736 from debris/serde_up
...
refactor(headers): updated serde to version 0.7
2016-03-09 11:01:18 -08:00
Garrett Squire
ec568e9a55
fix(headers): remove charset from ContentType::json() convenience method
...
since the JSON mime type does not accept a charset, this patch removes
it
closes https://github.com/hyperium/hyper/issues/737
2016-03-08 17:41:34 -08:00
OlegTsyba
c720295e99
fix(buffer): prevent possible buffer overflow in grow_zerofill
...
in `maybe_reserve` we have such code
```
let new = self.buf.capacity() - self.buf.len();
unsafe { grow_zerofill(&mut self.buf, new) }
```
the original behavior of `grow_zerofill` in such case cause
rewriting the memory behind the allocated vector.
2016-03-02 17:20:18 +02:00
debris
33d5da2136
refactor(headers): updated serde to version 0.7
2016-02-27 15:04:30 +01:00
Johan Lorenzo
5c8b63028c
docs(server): add a warning to Listening::close() in order to reflect #338
2016-02-19 14:25:12 +01:00
OlegTsyba
7c76fff3aa
fix(net): fix the typo in set_write_timeout
2016-02-17 19:13:40 +02:00
Steven Fackler
8c7ef7fd93
feat(client): Implement Debug for Client
...
Protocol doesn't extend Debug so we have to leave that out of the
output unfortunately.
2016-02-15 14:43:50 -08:00
Sean McArthur
3a18e72be6
fix(buffer): fix incorrect resizing of BufReader
...
Closes #715
2016-01-04 15:00:37 -08:00
Mark Lee
f7d6ff67ee
docs(headers): add docs for ExtendedValue members
2015-12-31 12:12:51 -08:00
Mark Lee
da0abe8988
feat(headers): allow ExtendedValue structs to be formatted and used as struct members
2015-12-31 12:12:51 -08:00
Corey Farwell
4c7f6f0c1e
style(all): Address suggestions made by rust-clippy
2015-12-23 08:59:45 -08:00
Sean McArthur
69adbd1914
style(client): change instances of method::Method to Method
2015-12-19 13:59:33 -08:00
Steven Fackler
92ff50f2e5
fix(server): Flush 100-continue messages
...
Closes #704
2015-12-18 16:00:49 -08:00
Mark Lee
402fb76bb2
feat(headers): add extended parameter parser to the public API
...
Move the extended parameter parser from the Content-Disposition header
implementation into the common header parsing module. This allows crates that
use Hyper to parse RFC 5987-compliant header parameter values.
Add tests based on the examples given in the RFC.
2015-12-15 09:56:09 -08:00
Karl Hobley
1077440c4d
test(server): Add test for GET request with body
2015-11-29 18:06:44 +00:00
Karl Hobley
0b05c5903e
fix(server): Removed check for GET/HEAD request when parsing body
...
Fixes #698
2015-11-29 18:06:44 +00:00
Sean McArthur
fec6e3e873
feat(all): add socket timeouts
...
Methods added to `Client` and `Server` to control read and write
timeouts of the underlying socket.
Keep-Alive is re-enabled by default on the server, with a default
timeout of 5 seconds.
BREAKING CHANGE: This adds 2 required methods to the `NetworkStream`
trait, `set_read_timeout` and `set_write_timeout`. Any local
implementations will need to add them.
2015-11-24 10:58:58 -08:00
Mike Dilger
7623ecc264
feat(headers): Add Content-Disposition header
...
fixes #561
2015-11-24 08:51:06 +13:00
Sean McArthur
9c99e939a6
Merge pull request #693 from brycefisher/feat/access-control-allow-credentials
...
feat(headers): Add Access-Control-Allow-Credentials header
2015-11-22 08:47:46 -08:00
Bryce Fisher-Fleig
19348b892b
feat(headers): Add Access-Control-Allow-Credentials header
...
There is only one acceptable value for this header, "true", so
there header struct is unit-like (no fields nor data inside). See
documentation and tests for more info. Case insensitive.
Closes #655
2015-11-22 00:53:16 -08:00
Sean McArthur
799698ca87
feat(headers): re-export CookiePair and CookieJar
2015-11-20 13:15:07 -08:00
Sean McArthur
81d42c964e
chore(dependencies): update openssl to 0.7 and cookie to 0.2
...
Closes #686
2015-11-20 11:12:56 -08:00
Sean McArthur
d44ee5980f
docs(quality_item): fix typo
...
Closes #634
2015-11-17 10:47:43 -08:00
Sean McArthur
6560e9edba
Merge pull request #682 from hyperium/fix-win-x86-nounwind
...
test(windows): disable a panicking test for 32-bit msvc
2015-11-17 10:43:13 -08:00
Sean McArthur
8a5139e95f
test(windows): disable a panicking test for 32-bit msvc
2015-11-16 14:01:57 -08:00
Dean4Devil
29fc868064
docs(server): Fixing two small typos
2015-11-12 09:44:54 +01:00
Markus Unterwaditzer
f783e9913b
feat(headers): Add Access-Control-Expose-Headers
...
Fix #673
2015-11-02 22:09:49 +01:00
Kevin Butler
63c6762c15
fix(response): respond with a 500 if a handler panics
2015-10-29 23:51:59 +00:00
Pyfisch
4c756a9304
style(headers): use regular doc-comments inside macros
...
A bug (rust-lang/rust#23812 ) in rustc prevented the use of normal
comments inside macros but this has been fixed.
2015-10-27 19:19:05 +01:00
Jonathan Reem
fa0848d421
feat(server): Add hooks for HttpListener and HttpsListener to be started from existing listeners.
...
This allows Servers to be started on existing TcpListeners.
2015-10-18 19:01:44 -07:00
Huon Wilson
ff4a607057
refactor(client): make RequestBuilder non-generic
...
Improve the compile-time of downstream crates that use RequestBuilder,
by not forcing them to remonomorphise and recompile its non-generic
methods when they use it: with this change, they can just call the
precompiled versions in the `hyper` object file(s). The `send` method is
the major culprit here, since it is quite large and complicated.
For an extreme example,
extern crate hyper;
fn main() {
hyper::Client::new().get("x").send().unwrap();
}
takes ~4s to compile before this patch (i.e. generic RequestBuilder) and
~2s after. (The time spent interacting with LLVM goes from 2.2s to
0.3s.)
BREAKING CHANGE: `RequestBuilder<U>` should be replaced by `RequestBuilder`.
2015-10-14 15:23:55 +11:00