Commit Graph

610 Commits

Author SHA1 Message Date
Sean McArthur
0455663a98 fix(nightly): remove feature flag for duration 2015-08-12 14:39:37 -07:00
Sean McArthur
7909829f98 feat(server): add Request.ssl() to get underlying ssl stream
Closes #627
2015-08-12 14:13:14 -07:00
Sean McArthur
1a91835aba feat(net): impl downcast methods for NetworkStream (without + Send)
Closes #521
2015-08-12 14:12:16 -07:00
Sean McArthur
67c284a96a fix(client): improve keep-alive of bodyless Responses 2015-08-05 16:45:54 -07:00
Sean McArthur
31f117ea08 fix(client): improve HttpReader selection for client Responses
Closes #436
2015-08-05 16:42:48 -07:00
ealasu
af062ac954 feat(headers): Content-Range header 2015-08-05 11:33:38 -07:00
Armin Ronacher
664bde58d8 feat(raw-fd): implement FromRawFd/FromRawSocket
This allows HttpStream and HttpListener to be created from raw
sockets similar to their Tcp counterparts.  It also fixes up the
signature from i32 to RawFd for the AsRawFd method.
2015-08-01 23:11:26 +02:00
Sean McArthur
0a59d7377c Merge pull request #621 from hyperium/timeout
feat(net): add socket timeouts to Server and Client
2015-07-29 10:56:39 -07:00
Danyel Bayraktar
abdd4c5d63 feat(net): Implement NetworkConnector for closure to be more flexible 2015-07-28 23:02:16 +02:00
Sean McArthur
7d1f154cb7 feat(net): add socket timeouts to Server and Client
While these methods are marked unstable in libstd, this is behind a
feature flag, `timeouts`. The Client and Server both have
`set_read_timeout` and `set_write_timeout` methods, that will affect all
connections with that entity.

BREAKING CHANGE: Any custom implementation of NetworkStream must now
  implement `set_read_timeout` and `set_write_timeout`, so those will
  break. Most users who only use the provided streams should work with
  no changes needed.

Closes #315
2015-07-27 09:57:59 -07:00
Patrick Walton
f5f5e1cb2d fix(headers): fix broken deserialization of headers
Sorry about that!
2015-07-23 20:58:35 -07:00
Sean McArthur
71db6a46c0 refactor(ssl): use openssl::DirectStreams 2015-07-23 13:13:43 -07:00
Sean McArthur
da817ba8bf test(header): change test_headers_show to use str.contains 2015-07-23 12:09:55 -07:00
Sean McArthur
a0739e6c96 test(headers): fix test_headers_show() 2015-07-23 11:53:46 -07:00
Sean McArthur
74021a24fe test(headers): remove usage of iter.join() 2015-07-23 11:38:26 -07:00
Sean McArthur
d2e8b5dc3d fix(tests): iter.connect() is now iter.join() 2015-07-22 19:01:33 -07:00
Sean McArthur
3bd0635d28 Merge pull request #611 from batisteo/patch-1
docs(headers): move blank line in right place.
2015-07-22 17:58:45 -07:00
Håvar Nøvik
d84f291abc feat(status): implement Hash for StatusCode
Change hash implementation to just use `derive(Hash)`
2015-07-22 10:50:26 +02:00
Håvar Nøvik
aa85f609b5 feat(status): implement Hash for StatusCode
Implment the `Hash` trait for the `StatusCode` enum.
2015-07-21 21:10:47 +02:00
Baptiste Darthenay
65ba136f02 Doc: moved blank line in right place.
http://ironframework.io/doc/iron/headers/struct.ContentType.html#examples
2015-07-15 10:39:18 +02:00
Patrick Walton
87de1b77bc feat(http): add optional serialization of common types via serde
This is behind a Cargo feature to avoid forcing downstream users to
depend on `serde`. It is needed for Servo IPC to work.
2015-07-10 17:45:08 -07:00
Sean McArthur
9bf60b65a0 docs(http): document consts CR, LR, and LINE_ENDING 2015-07-08 10:31:31 -07:00
Sean McArthur
5994a6f8b4 fix(lint): change deny(missing_docs) to only apply for tests
Closes #600
2015-07-08 10:23:37 -07:00
Sean McArthur
0e7db69d6d perf(buffer): zero out buffers using memset instead of iter().take() 2015-07-07 18:09:05 -07:00
Sean McArthur
ddecb262b3 fix(http): no longer keep alive for Http1.0 if no Connection header
Closes #596
2015-07-06 12:55:25 -07:00
Sam Gibson
7c2e5124e6 feat(headers): add strict-transport-security header
Strict-Transport-Security allows servers to inform user-agents that
they'd like them to always contact the secure host (https) instead of
the insecure one (http).

Closes #589
2015-07-06 12:35:45 -07:00
Sean McArthur
9a85ea553f Merge pull request #595 from pyfisch/originstring
refactor(headers): use String in Access-Control-Allow-Origin header
2015-07-06 11:00:49 -07:00
Pyfisch
ed458628e5 refactor(headers): use String in Access-Control-Allow-Origin header
Access-Control-Allow-Origin origins are URLs but they do not need to
be valid, they should just be compared as strings. So to support
invalid URLs hyper should use a string instead.

closes #526

BREAKING CHANGE: Access-Control-Allow-Origin does no longer use Url
2015-07-04 17:26:06 +02:00
Sean McArthur
82ed9092e3 feat(client): add url property Response
This will always be the last URL that was used by the Request, which is
useful for determining what the final URL was after redirection.

BREAKING CHANGE: Technically a break, since `Response::new()` takes an
  additional argument. In practice, the only place that should have been
  creating Responses directly is inside the Client, so it shouldn't
  break anyone. If you were creating Responses manually, you'll need to
  pass a Url argument.
2015-07-01 10:45:07 -07:00
Pyfisch
db93ca0697 style(rustfmt): run rustfmt on hyper correct overlong lines 2015-06-29 20:22:22 +02:00
Sean McArthur
31e5a91350 Merge pull request #582 from mlalic/issue-580
refactor(http2): move to solicit v0.4
2015-06-26 21:18:22 -07:00
Stacey Ell
1a490e25c3 fix(client): use Ssl instance in creation of SslStream
This fix brings SNI into working order
2015-06-26 09:27:27 -06:00
Marko Lalic
37e55944cf test(hyper): assert that error::Error is Send + Sync
This is a regression test for #580.
2015-06-26 14:53:58 +02:00
Marko Lalic
526ce994a3 refactor(http2): move to solicit v0.4
Only minor details in the internals of the `h2` module needed tweaking
for migrating onto the latest version -- `HttpConnect` implementations
are now required to return an error type that implements an
`HttpConnectError` trait.
2015-06-26 14:53:58 +02:00
Sean McArthur
1b6c692fe3 Merge pull request #578 from lame-nickname/master
refactor(headers):  improve `Range` header adherence to HTTP spec
2015-06-23 17:05:23 -07:00
lame-nickname
f7504c3a9c refactor(headers): improve Range header adherence to HTTP spec 2015-06-23 20:59:34 +02:00
Pyfisch
99ff7e6257 feat(langtags): use true language tags in headers
Make hyper dependant on rust-language-tags providing complete parsing
and formatting of language tags. Remove builtin solution for simple
tags.

BREAKING CHANGE: AcceptLanguage and ContentLanguage use LanguageTag now,
Language removed from Hyper.
2015-06-23 20:15:47 +02:00
Sean McArthur
53bba6eb7f feat(ssl): redesign SSL usage
BREAKING CHANGE: Server::https was changed to allow any implementation
  of Ssl. Server in general was also changed. HttpConnector no longer
  uses SSL; using HttpsConnector instead.
2015-06-20 14:58:58 -07:00
Sean McArthur
e689f20376 fix(client): check for drained stream in Response::drop 2015-06-17 13:17:56 -07:00
Sean McArthur
306f39c731 chore(logging): add some trace! logging to headers 2015-06-17 11:37:26 -07:00
Sean McArthur
7d2e5c0ef8 style(client): use status.is_redirection() 2015-06-17 11:36:54 -07:00
Marko Lalic
aee7c991e6 docs(hyper): fix html root url
The HTML root URL is not supposed to point at the index resource, but
represent the path that can be used to construct the full URL of the
crate's components.
2015-06-17 17:42:57 +02:00
Joseph Deray
edf6ac2074 feat(headers): add bearer token support
this allows servers/clients using bearer tokens
 to work out of the box without having to implement
  their own bearer scheme. while this would be pretty
   easy seems like a more general thing that is useful
    for a lib like this
2015-06-17 00:57:04 -04:00
lame-nickname
05c3199846 feat(headers): add Range header 2015-06-16 18:28:48 +02:00
Sean McArthur
febf3031c5 Merge pull request #567 from clatour/header-docs
docs(headers): add examples
2015-06-15 10:15:17 -07:00
Chandler Latour
c940e84a78 docs(headers): add header examples 2015-06-14 21:32:33 -06:00
Sean McArthur
c37d85728f Merge pull request #565 from hyperium/dox-server
docs(server): greatly expand how to use a Server
2015-06-14 08:41:44 -07:00
Sean McArthur
ae5c7276c0 docs(server): greatly expand how to use a Server 2015-06-13 17:02:35 -07:00
Ryman
8275f3b9e3 docs(header): fix typos and minor rewording 2015-06-13 16:53:26 +01:00
Sean McArthur
6d72289394 Merge pull request #564 from hyperium/doxup
docs(header): greatly expand on implementing custom headers
2015-06-13 08:34:50 -07:00