Commit Graph

1795 Commits

Author SHA1 Message Date
Sean McArthur
36e66a5054 fix(lib): properly handle HTTP/1.0 remotes
- Downgrades internal semantics to HTTP/1.0 if peer sends a message with
  1.0 version.
- If downgraded, chunked writers become EOF writers, with the connection
  closing once the writing is complete.
- When downgraded, if keep-alive was wanted, the `Connection: keep-alive`
  header is added.

Closes #1304
2018-01-22 10:08:27 -08:00
Sean McArthur
7d493aafce chore(depenencies): update pretty-env-logger to 0.2 2018-01-19 17:37:34 -08:00
Sean McArthur
c89019eb10 feat(client): add executor method when configuring a Client
This allows using a future `Executor` other than a `Handle` to execute
the background (connection) tasks needed for sending requests and
responses.

This also deprecates `Client::handle()`, since the executor may not be
a `Handle`.
2018-01-19 16:58:57 -08:00
Sean McArthur
350ce542be v0.11.14 2018-01-16 14:20:26 -08:00
Sean McArthur
14e4c741dc fix(tokio-proto): return end-of-body frame correctly for tokio-proto
Closes #1414
2018-01-16 14:11:20 -08:00
Greedwolf DSS
73511ac8be docs(example): fix send file to only send range of buffer read into 2018-01-16 11:52:56 -08:00
Sean McArthur
586993fb2f chore(dependencies): update pretty_env_logger to rc.2 2018-01-12 12:02:13 -08:00
Sean McArthur
00d6a38547 v0.11.13 2018-01-12 11:38:18 -08:00
Sean McArthur
7a48d0e8b4 fix(lib): properly handle body streaming errors 2018-01-11 13:58:16 -08:00
Sean McArthur
7888451408 refactor(proto): return Error::Incomplete instead of UnexpectedEof 2018-01-11 11:45:28 -08:00
Sean McArthur
30f7f1dbe6 chore(tests): fix tests when tokio-proto feature disabled 2018-01-09 18:30:10 -08:00
Sean McArthur
2fe90f2564 fix(client): change connection errors to debug log level
Closes #1412
2018-01-09 17:46:35 -08:00
Sean McArthur
7976023b59 fix(client): don't error on read before writing request 2018-01-09 17:46:29 -08:00
Sean McArthur
5ce269ae7d chore(ci): update CI minimum Rust to 1.18 (because mio) 2018-01-09 15:53:06 -08:00
Sean McArthur
e34a32b0a0 v0.11.12 2018-01-08 10:06:19 -08:00
Sean McArthur
fa7f4377c1 fix(server): add remote_addr back to Request when using Http::bind
The `Request::remote_addr()` method has been deprecated.

Closes #1410
2018-01-08 10:04:01 -08:00
Sean McArthur
b3f32469b0 v0.11.11 2018-01-05 10:51:18 -08:00
Sean McArthur
f7aeb1cab0 chore(ci): only build on Rust 1.17, don't run tests 2018-01-04 15:34:25 -08:00
Sean McArthur
34f0dba6dc chore(log): update to log 0.4 2018-01-04 14:50:18 -08:00
Sean McArthur
6ade21aa7f feat(server): change default dispatcher
- Deprecates the `no_proto` configuration on `Server`. It is always
  enabled.
- Deprecates all pieces related to tokio-proto.
- Makes the tokio-proto crate optional, and the `server-proto` feature
  can be used to completely remove the dependency. It is enabled by
  default.
2017-12-28 19:15:57 -08:00
Sean McArthur
0892cb2777 feat(client): replace default dispatcher 2017-12-28 17:18:42 -08:00
Sean McArthur
6fde13f759 Merge pull request #1406 from jolhoeft/web_api
docs(server): Add server example querying a web api
2017-12-28 15:42:35 -08:00
Sean McArthur
6ab4895865 Merge pull request #1404 from jolhoeft/file_example
docs(server): Add an example of serving files
2017-12-28 15:41:41 -08:00
Jeff Olhoeft
7d2cce0922 docs(server): Add an example of serving files 2017-12-27 16:07:20 -08:00
Jeff Olhoeft
ebb5882859 docs(server): Add server example querying a web api 2017-12-27 15:47:46 -08:00
Sean McArthur
ccd8ebff75 v0.11.10 2017-12-26 15:25:20 -08:00
Sean McArthur
bfb0f84d37 fix(client): fix panic when request body is empty string 2017-12-26 13:07:39 -08:00
Sean McArthur
11bf254b2c Merge pull request #1401 from alex/patch-1
chore(lib): update base64 version
2017-12-21 14:43:02 -08:00
Alex Gaynor
45439bec31 chore(lib): update base64 version 2017-12-21 11:27:41 -05:00
Sean McArthur
5d5045d698 chore(windows): poll core again to drop window socket 2017-12-18 16:53:45 -08:00
Sean McArthur
7d3abfbcf3 fix(conn): don't double shutdown in some cases 2017-12-15 13:46:30 -08:00
Sean McArthur
9af18f3024 chore(tests): fix syntax error in server tests 2017-12-15 12:41:26 -08:00
Sean McArthur
5d05b284d8 chore(windows): add test for keep-alive dropped in failing test 2017-12-15 12:18:44 -08:00
Sean McArthur
ef4008121e fix(client): close connections when Response Future or Body is dropped
Closes #1397
2017-12-14 13:57:31 -08:00
Sean McArthur
8f6931b349 Merge pull request #1400 from jolhoeft/params_example
docs(server): Add a forms server example
2017-12-13 17:40:10 -08:00
Sean McArthur
be7ca0415d test(server): try to fix windows keep-alive test 2017-12-13 16:47:07 -08:00
Sean McArthur
fe82cea96a chore(lib): remove debug logs on 0 sized reads 2017-12-13 16:34:55 -08:00
Sean McArthur
139dc7ab2b fix(client): properly close idle connections after timeout
Additionally fixes if there were idle connections when a `Client` is
dropped.

Only fixes with the no-proto dispatcher, as changing internals for the
tokio-proto dispatcher would be much harder, and it will replace it very
soon.

Closes #1397
2017-12-13 16:29:25 -08:00
Jeff Olhoeft
61877f6f6e docs(server): Add a forms server example
Add an example program illustrating parsing a request body through
generating a response body.
2017-12-13 14:30:04 -08:00
Sean McArthur
16aa92cf03 v0.11.9 2017-12-09 19:02:12 -08:00
Sean McArthur
15fdd53d4c fix(client): detect valid eof after reading a body
If a connection closes immediately after reading the end of the body,
the next call to `conn.poll()` should not error, but just indicate
that the connection is done.

Closes #1396
2017-12-08 17:29:46 -08:00
Sean McArthur
7b5931122a feat(log): improve quality of debug level logs 2017-12-08 14:49:51 -08:00
Sean McArthur
a594341701 v0.11.8 2017-12-06 16:56:13 -08:00
Sean McArthur
214f593c2b test(headers): fix ProxyAuthorization bench_headers error 2017-12-06 16:37:42 -08:00
Steven Fackler
c93cdb2908 feat(headers): Implement ProxyAuthorization (#1394) 2017-12-06 16:09:00 -08:00
Sean McArthur
95e0164e8f fix(client): return error instead of unmatched response when idle 2017-12-06 16:06:13 -08:00
Sean McArthur
8f938d97e7 fix(conn): handle when pre-emptive flushing closes the write state
Closes #1391
2017-12-06 14:50:13 -08:00
Steven Fackler
eb9590e3da feat(server): Allow keep alive to be turned off for a connection (#1390)
Closes #1365
2017-12-04 10:14:20 -08:00
Sean McArthur
cecef9d402 fix(client): remove idle connections when read eof is found 2017-11-28 17:13:54 -08:00
Sean McArthur
9f21241002 fix(client): always wait on reads for pooled connections 2017-11-28 16:17:20 -08:00