Pyfisch
ce9c4af1e0
feat(headers): Add From header field
2015-05-02 21:18:17 +02:00
Pyfisch
2dbe3f9b9a
feat(headers): Add Accept-Ranges header field
2015-05-02 21:11:50 +02:00
Sean McArthur
117fe927ca
Merge pull request #493 from pyfisch/nice
...
refactor(hyper): Fix a few nits
2015-05-02 09:47:07 -07:00
Pyfisch
a6974c99d3
refactor(headers): Fail to parse single value header values
...
A single value header value can't be "", so `from_one_raw_str()` now
returns `None` on empty values. This makes custom checks in headers
obsolete.
BREAKING CHANGE: `from_one_raw_str()` returns `None` on empty values.
2015-05-02 16:40:53 +02:00
Sean McArthur
8cdb9d5d3b
fix(http): keep raw reason phrase in RawStatus
...
Closes #497
2015-05-01 15:08:48 -07:00
Sean McArthur
6d7ae81e36
Merge pull request #492 from hyperium/header-macro-example
...
fix(header): make test_module of header! optional
2015-05-01 14:27:55 -07:00
Sean McArthur
a5ce9c59fa
fix(header): make test_module of header! optional
...
Closes #490
2015-05-01 14:27:17 -07:00
Pyfisch
6b59bd28b7
refactor(hyper): Fix a few nits
2015-05-01 11:58:15 +02:00
Sean McArthur
1426a4ce34
Merge pull request #491 from pyfisch/ifrangeheader
...
feat(headers): Add If-Range header
2015-04-30 15:05:52 -07:00
Pyfisch
a39735f1d3
feat(headers): Add If-Range header
...
Closes #388
2015-04-30 20:30:47 +02:00
Sebastian Thiel
2bc5a779bd
fix(header): exporting test_header! macro
...
That way, third-parties can keep using the `header!` macro, which
now requires the `test_header!` macro as well.
Considering the `header!` macro is exported and part of the public
API, it was not desired to prevent it's usage in any way.
2015-04-30 11:05:21 +02:00
Sean McArthur
1e72a8ab3a
feat(client): add a Connection Pool
...
This adds a connection pool to the Client that is used by default. It
accepts any other NetworkConnector, and simply acts as a
NetworkConnector itself. Other Pools can exist by simply providing a
custom NetworkConnector. This Pool is only used by default if you also
use the default connector, which is `HttpConnector`. If you wish to use
the Pool with a custom connector, you'll need to create the Pool with
your custom connector, and then pass that pool to the
Client::with_connector.
This also adds a method to `NetworkStream`, `close`, which can be used
to know when the Stream should be put down, because a server requested
that the connection close instead of be kept alive.
Closes #363
Closes #41
2015-04-29 12:58:28 -07:00
Pyfisch
14f46035b7
docs(headers): Update documentation of all remaining headers that use macros
2015-04-28 20:31:30 +02:00
Pyfisch
5a8cd31025
docs(headers): Add more docs to conditional headers
2015-04-28 17:38:46 +02:00
Pyfisch
e993f4b544
refactor(headers): Add tests and docs to CORS headers
2015-04-28 09:39:25 +02:00
Pyfisch
f9d75e4dd3
docs(headers): Add examples to Accept* headers
2015-04-28 09:19:35 +02:00
Pyfisch
093a29bab7
fix(headers): Do not parse empty values in list headers.
...
In empty list header values ``, or list header values with empty items `foo, , bar`,
the empty value is parsed, if the parser does not reject empty values an item is added
to the resulting header. There can't be empty values. Added a test for it in AcceptEncoding.
2015-04-28 08:57:35 +02:00
Pyfisch
621ef521f6
fix(headers): Fix formatting of 0 qualites and formatting of empty list header fields.
2015-04-28 08:46:26 +02:00
Pyfisch
308880b455
feat(headers): Implement Content-Language header field
...
Closes #475
2015-04-27 21:50:57 +02:00
Sean McArthur
f7f0361626
Merge pull request #479 from mikedilger/ssl_context
...
Ssl context
2015-04-27 11:17:08 -07:00
Mike Dilger
3a1a24270d
feat(server): allow consumer to supply an SslContext
...
Closes #471
2015-04-27 08:22:10 +12:00
Mike Dilger
fef04d282f
refactor(server): make with_listener a free function
...
Allow a Server to operate without requiring the entire Server struct
to move into the with_listener function (instead only the handler
function needs to move). This, allows other members to not move, or
move separately, which will be needed for the next commit. See #471
2015-04-27 08:19:31 +12:00
Mike Dilger
1a076d1bc7
feat(net): add https_using_context for user-supplied SslContext
2015-04-27 08:18:11 +12:00
Pyfisch
a27e6812b9
test(headers): Add tests for single value headers.
2015-04-26 19:16:44 +02:00
Pyfisch
6d34448043
test(headers): Test if formatting gives back the same header
2015-04-26 15:49:34 +02:00
Pyfisch
76a4a01348
test(headers): Add tests for possibly empty list headers.
2015-04-26 14:32:10 +02:00
Pyfisch
18f717fcf1
test(headers): Add tests for headers with "*" value
2015-04-26 14:06:46 +02:00
Pyfisch
efd6c96a3c
test(headers): Allow tests inside list header macros, add tests.
...
Adds test cases from the relevant RFCs for a few headers.
See also: #468 , do we want the test cases rendered as examples in the docs?
2015-04-26 12:56:09 +02:00
Sean McArthur
60d92c296a
feat(client): remove Clone requirement for NetworkStream in Client
2015-04-23 09:27:41 -07:00
Sean McArthur
e814680b55
Merge pull request #473 from hyperium/docup
...
Docup
2015-04-22 15:45:09 -07:00
Sean McArthur
48a010ffd7
docs(client): add improved usage examples
2015-04-22 12:28:19 -07:00
Sean McArthur
f9ea2dd594
docs(server): add basic usage example
2015-04-22 12:27:50 -07:00
Sean McArthur
8198f41ec0
docs(lib): add links to main modules
2015-04-22 12:27:33 -07:00
Sean McArthur
e234cbe669
Merge pull request #462 from hyperium/client-ergo
...
Client ergo
2015-04-21 16:22:22 -07:00
Jonathan Reem
76550fdb20
fix(http): Adjust httparse Request and Response lifetimes.
2015-04-18 20:33:58 -07:00
Jorge Israel Peña
c694b1385b
fix(server): JoinHandle type parameter
...
The new beta adopts the new `JoinHandle` API which has a type parameter.
2015-04-17 14:31:54 -07:00
Sean McArthur
a2aefd9a56
feat(client): accept &String as Body in RequestBuilder
...
BREAKING CHANGE: This removes the trait `IntoBody`, and instead using
`Into<Body>`, as it's more idiomatic. This will only have broken code
that had custom implementations of `IntoBody`, and can be fixed by
changing them to `Into<Body>`.
2015-04-16 10:25:12 -07:00
Sean McArthur
8bc179fb51
feat(client): accept &String for a Url in RequestBuilder
...
adds an IntoUrl implementation for &String
2015-04-16 10:10:42 -07:00
Sean McArthur
0fb92ee735
feat(debug): add Debug impls for StatusClass, Server, and Listening
2015-04-16 10:04:51 -07:00
Sean McArthur
4f09b002ff
feat(log): clean up logging
2015-04-15 21:08:52 -07:00
Sean McArthur
d9187713b2
fix(server): handle keep-alive closing
...
Closes #437
2015-04-15 20:12:26 -07:00
Sean McArthur
68d4d63c2a
fix(server): join on thread when Listening drops
...
Closes #447
2015-04-15 16:44:48 -07:00
Jonathan Reem
e864956734
fix(server): Use thread::spawn instead of thread::scoped.
2015-04-15 13:15:05 -07:00
Sean McArthur
55b37f0148
test(beta): enable testing on beta rustc
2015-04-15 11:59:23 -07:00
Brandon Sanderson
7b7f9c257d
feat(net): make HttpStream implement Debug
2015-04-09 16:13:29 -07:00
Brandon Sanderson
2f606c88bd
feat(http): Implement Debug for HttpReader/Writer.
...
Also derives it for Responses, since that's easy now.
2015-04-08 18:03:08 -07:00
Huon Wilson
ca2815effd
fix(headers): Content-Encoding needs a hyphen.
2015-04-09 10:15:42 +10:00
Sean McArthur
564288e5c6
Merge pull request #428 from hyperium/client-box
...
feat(client): remove generic parameter for Connector
2015-04-07 18:26:27 -07:00
Sean McArthur
499a2c8610
Merge pull request #440 from pyfisch/refactorheaders5
...
refactor(headers): Use header!() for CORS headers.
2015-04-07 12:51:19 -07:00
Sean McArthur
56d72b4351
Merge pull request #439 from pyfisch/refactorheaders4
...
refactor(headers): Use header!() macro for Upgrade header field
2015-04-07 12:02:39 -07:00