Commit Graph

1295 Commits

Author SHA1 Message Date
Richard Dodd
1ee26443f4 docs(CONTRIBUTING): Fix markdown
Fix markdown in contributing so it displays correctly on github, and
also because of the irony.
2017-03-28 11:35:56 +01:00
Sean McArthur
3da720a99f Merge pull request #1103 from d12i/client-handle-getter
feat(client): add Client::handle
2017-03-26 17:58:46 -07:00
Daiki Mizukami
9101817b0f feat(client): add Client::handle 2017-03-27 08:06:07 +09:00
Sean McArthur
43cf9aefe8 Merge pull request #1101 from hyperium/remove-deprecated
refactor(header): remove deprecated Header to_string APIs
2017-03-21 18:22:12 -07:00
Sean McArthur
ec91bf418b refactor(header): remove deprecated Header to_string APIs
BREAKING CHANGE: This removes several deprecated methods for converting
  Headers into strings. Use more specialized methods instead.
2017-03-21 15:16:03 -07:00
Sean McArthur
4f69788f5d fix(client): get default port for https with Uri 2017-03-21 14:44:04 -07:00
Sean McArthur
3d8dddb066 Merge pull request #1100 from hyperium/un-url
feat(lib): remove extern Url type usage
2017-03-21 14:31:37 -07:00
Sean McArthur
4fb7e6ebc6 feat(lib): remove extern Url type usage
BREAKING CHANGE: The `Url` type is no longer used. Any instance in the
  `Client` API has had it replaced with `hyper::Uri`.

  This also means `Error::Uri` has changed types to
  `hyper::error::UriError`.

  The type `hyper::header::parsing::HTTP_VALUE` has been made private,
  as an implementation detail. The function `http_percent_encoding`
  should be used instead.
2017-03-21 11:03:57 -07:00
Sean McArthur
e81184e53c Merge pull request #1095 from mjkillough/header_view_raw
feat(headers): add HeaderView.raw()
2017-03-20 11:24:56 -07:00
Michael Killough
8143c33bad feat(headers): add HeaderView.raw()
Add HeaderView.raw() which behaves identically to Headers.get_raw().
2017-03-18 14:13:12 +07:00
Alex Crichton
8554904dc9 refactor(lib): convert usage of tokio_core::io to tokio_io
This commit updates to the most recent versions (released today) of the various
Tokio libraries in use. Namely the `tokio_core::io` module has now been
deprecated in favor of an external `tokio-io` crate. This commit pulls in that
crate and uses the `AsyncRead + AsyncWrite` abstraction instead of `Io` from
tokio-core.

BREAKING CHANGE: Any external types that were using that had implemented `Io` will need to 
  implement `AsyncRead + AsyncWrite` from tokio_io.
2017-03-17 17:31:44 -07:00
wangcong
34509ef51a test(client): replace deprecated Sender.completer with send 2017-03-14 10:11:22 -07:00
Sean McArthur
5a3743c1ba Merge pull request #1084 from pyfisch/fuzzing
[WIP] fix bugs in header field parsers
2017-03-13 10:15:21 -07:00
Sean McArthur
e871411627 feat(client): add Request.set_proxy for HTTP proxy requests
Closes #1056
2017-03-07 12:16:44 -08:00
Sean McArthur
88eaaa0016 fix(http): dont return Error frame with idle eof 2017-03-07 12:16:10 -08:00
Pyfisch
bdd536cf44 test(headers): fix failing test for Accept header 2017-03-05 13:21:32 +01:00
Pyfisch
643fac1e01 fix(headers): add length checks to ETag parsing
Bug found using `cargo fuzz`.
2017-03-05 12:40:06 +01:00
Pyfisch
d80aae55b1 fix(headers): prevent 2 panics in QualityItem parsing
1. index out of bounds if semicolon is the last character
2. not a char boundary on non-ASCII input (only allow ASCII now)

Bugs found using `cargo fuzz`
2017-03-05 12:38:44 +01:00
Sean McArthur
c51a9993fa chore(travis): enable email notifications for broken builds 2017-03-02 15:33:42 -08:00
Sean McArthur
8140f38f6e Merge pull request #1081 from MJDSys/fix_from_chunk_to_bytes
fix(http): Fix commit fac3d70c0b
2017-03-01 22:44:28 -08:00
Matthew Dawson
9e16637514 fix(http): Fix commit fac3d70c0b
The new From<Chunk> for Bytes uses self instead of chunk in its
implementation of From::from.  Change it to chunk to fix the build.
2017-03-02 01:40:13 -05:00
Sean McArthur
fac3d70c0b feat(http): add Into<Bytes> for Chunk 2017-03-01 16:59:36 -08:00
Sean McArthur
abad0fcd72 Merge pull request #1080 from hyperium/bytes
feat(http): use the bytes crate for Chunk and internally
2017-03-01 16:46:12 -08:00
Sean McArthur
65b3e08f69 feat(http): use the bytes crate for Chunk and internally 2017-03-01 14:15:47 -08:00
Sean McArthur
cf7cc50ad0 chore(cargo): set an include directive 2017-03-01 13:35:30 -08:00
Sean McArthur
a7021d1f88 test(http): remove println from a test 2017-02-28 16:32:40 -08:00
Sean McArthur
ab939511f0 fix(http): more eagerly flush when the Conn is full
Closes #1078
2017-02-28 16:05:55 -08:00
Sean McArthur
359f5ff4d7 Merge pull request #1076 from sinkuu/fix_fragment_questionmark
fix(url): fix panic when questionmark is in fragment
2017-02-25 09:56:50 -08:00
sinkuu
8ba1f19d61 fix(url): fix panic when questionmark is in fragment 2017-02-25 20:25:39 +09:00
Sean McArthur
6eb0753921 fix(http): fix another instance of keep-alive busy-looping 2017-02-23 13:36:07 -08:00
Sean McArthur
a6f7f27435 Merge pull request #1074 from hyperium/park-less
fix(http): fix busy looping when in keep-alive
2017-02-22 17:54:48 -08:00
Sean McArthur
8756f40ac9 fix(http): fix busy looping when in keep-alive 2017-02-22 16:31:15 -08:00
Sean McArthur
dc97dd77f4 feat(server): make Http default its body type to hyper::Chunk 2017-02-22 16:30:20 -08:00
Sean McArthur
ee58409578 fix(http): make Chunk impl Sync 2017-02-22 16:30:20 -08:00
Sean McArthur
435fe84bf5 Merge pull request #1072 from Keats/master
feat(headers): impl Eq for ContentType
2017-02-21 10:06:16 -08:00
Vincent Prouillet
bba761ac54 feat(headers): impl Eq for ContentType 2017-02-21 15:48:45 +09:00
Tasos Bakogiannis
592c1e2125 feat(headers): add Link header implementation
Closes #650
2017-02-20 12:00:01 -08:00
Sean McArthur
df31c0e42c Merge pull request #1069 from hyperium/run-until-unit
feat(server): change Server.run_until Future Error to ()
2017-02-20 11:52:39 -08:00
Sean McArthur
a3252c464d feat(server): change Server.run_until Future Error to ()
BREAKING CHANGE: The `run_until` future used to require its `Error` to
  be `hyper::Error`, now it can be `()`.
2017-02-17 13:48:17 -08:00
Sean McArthur
5af5fa104e Merge pull request #1047 from hyperium/from-message
feat(server): make Http compatible with TcpServer
2017-02-17 10:49:28 -08:00
Sean McArthur
e04bcc12a7 feat(server): make Http compatible with TcpServer
This implements `From<Message> for Request` and `Into<Message> for
Response`, allowing an `Http` instance to be used with a `TcpServer`
from tokio-proto.

Closes #1036

BREAKING CHANGE: This makes `Request.remote_addr` an
  `Option<SocketAddr>`, instead of `SocketAddr`.
2017-02-16 18:26:36 -08:00
Sean McArthur
3cf3b75159 Merge pull request #1066 from hyperium/outgoing-generic
feat(http): allow specifying custom body streams
2017-02-16 18:15:15 -08:00
Sean McArthur
1b1311a7d3 feat(http): allow specifying custom body streams 2017-02-16 15:06:55 -08:00
Sean McArthur
7d37197dde chore(http): change log to debug for decoder errors 2017-02-16 14:11:28 -08:00
Sean McArthur
ebf96f3f5f fix(http): send errors as frame errors
Additionally, only close read side, so it's potentially possible to
write a response for an error.
2017-02-16 14:09:41 -08:00
Vincent Prouillet
499c0d1772 chore(dependencies): update base64 to 0.4 2017-02-13 09:40:19 -08:00
Sean McArthur
ed2334bef4 Merge pull request #1058 from michael-zapata/docs/uri
docs(uri): fix rendering errors
2017-02-10 10:12:03 -08:00
Michael Zapata
31d998078d docs(uri): fix rendering errors
Add a code block around the URI explanation to make it legible and
add a missing backquote
2017-02-10 16:00:59 +01:00
Sean McArthur
2266d869ca Merge pull request #1054 from hyperium/uri-memslice
perf(header): Make Uri use MemSlice internally
2017-02-09 12:41:53 -08:00
Guillaume Gomez
524f65a9a3 perf(header): Make Uri use MemSlice internally 2017-02-09 11:45:55 -08:00