Commit Graph

776 Commits

Author SHA1 Message Date
Sean McArthur
b6114ecd2e feat(header): add ContentType::json(), plaintext(), html(), jpeg(), and png() constructors 2015-05-11 19:14:43 -07:00
Sean McArthur
c2938fb45f feat(header): add Connection::close() and ::keep_alive() constructors 2015-05-11 19:14:43 -07:00
Sean McArthur
af2daac33b chore(cargo): set stricter versions for dependencies 2015-05-11 19:09:50 -07:00
Sean McArthur
62d96adc6b refactor(header): change name of deref! to __hyper__deref!
The header is largely for internal use, however, it must be exported
because the header! macro uses it. As deref! is also a particularly
general name, this renames it to __hyper__deref! to prevent name
clashes.

BREAKING CHANGE: If you use deref! from the header module, you'll need
  to switch to using __hyper__deref!.
2015-05-11 19:00:38 -07:00
Sean McArthur
f64fb10bc8 feat(header): export __hyper__tm! macro so test modules work with header! 2015-05-11 19:00:27 -07:00
Sean McArthur
a6dd9c8476 refactor(lib): macro_use the mime! macro 2015-05-11 18:48:00 -07:00
Sean McArthur
085d7b0752 fix(mock): adjust ChannelMockConnector connect method to compile 2015-05-10 00:40:21 -07:00
Sean McArthur
c3eb828383 Merge pull request #516 from hyperium/demut-connector
feat(net): remove mut requirement for NetworkConnector.connect()
2015-05-09 23:15:17 -07:00
Sean McArthur
1b318724a5 feat(net): remove mut requirement for NetworkConnector.connect()
BREAKING CHANGE: Any custom Connectors will need to change to &self in
  the connect method. Any Connectors that needed the mutablity need to
  figure out a synchronization strategy.

  Request::with_connector() takes a &NetworkConnector instead of &mut.
  Any uses of with_connector will need to change to passing &C.
2015-05-09 23:14:23 -07:00
Sean McArthur
7bc4e83ec2 Merge pull request #518 from mlalic/fix-client-ssl-verifier
fix(client): keep the underlying connector when setting an SSL verifier
2015-05-09 22:46:43 -07:00
Sean McArthur
390b9fa134 Merge pull request #520 from hyperium/conn-close
fix(client): dont call close() inside Request
2015-05-09 22:44:43 -07:00
Sean McArthur
3334fca278 fix(client): dont call close() inside Request
Only call close() in the Response, which should already return a
responding `Connection: close`.

Closes #519
2015-05-09 22:20:13 -07:00
Sean McArthur
a3637d5f73 refactor(all): adjust some logging 2015-05-09 22:18:05 -07:00
Marko Lalic
f4556d554f fix(client): keep the underlying connector when setting an SSL verifier
The client no longer drops the old `Connector` instance, along with its
entire context (such as the settings and pooled connections in the case
of a `Pool` connector); rather, it passes the SSL verifier on to the
`Connector` so that it uses it for any future connections that it needs
to establish.

A regression test is included.

Closes #495
2015-05-09 20:10:51 +02:00
Marko Lalic
a5d632b6ea feat(net): add set_ssl_verifier method to NetworkConnector trait
The commit includes an implementation of the new trait method for all
existing trait impls.

BREAKING CHANGE: Adding a new required method to a public trait is a
breaking change.
2015-05-09 20:10:51 +02:00
Sean McArthur
38f40c7f6a v0.4.0 2015-05-07 13:47:57 -07:00
Sean McArthur
59f1b71fb3 Merge pull request #512 from hyperium/osx-shutdown
fix(net): ignore NotConnected error in NetworkStream.close
2015-05-07 13:13:41 -07:00
Sean McArthur
6fd1e88b0f Merge pull request #514 from hyperium/res-send
feat(server): add Response.send to write a sized body
2015-05-07 13:08:50 -07:00
Sean McArthur
6be60052c6 fix(net): ignore NotConnected error in NetworkStream.close
On OSX, calling shutdown a second time will return a NotConnected error.
This commit will just ignore it, since we can agree that if a stream is
"not connected", it is in fact "closed".

Closes #508
2015-05-07 13:06:35 -07:00
Sean McArthur
d5558b687d feat(server): add Response.send to write a sized body
Closes #446
2015-05-07 11:03:45 -07:00
Sean McArthur
d294ea501d Merge pull request #511 from hyperium/drop-res
feat(server): dropping a Response will write out to the underlying stream
2015-05-06 15:16:46 -07:00
Sean McArthur
a9dcc59cd9 feat(server): dropping a Response will write out to the underlying stream 2015-05-06 15:12:38 -07:00
Sean McArthur
71b26dfcfa Merge pull request #510 from pyfisch/increasecov
tests(hyper): Add tests to increase coverage
2015-05-06 11:19:56 -07:00
Pyfisch
ff346f147f refactor(hyper): add tests and refactor to increase coverage 2015-05-06 19:39:54 +02:00
Jonathan Reem
7f5e0382d9 Merge pull request #509 from pyfisch/patch-1
docs(readme): Add coverage status badge to README.md
2015-05-06 00:06:49 -07:00
Pyfisch
76ee86a441 docs(readme): Add coverage status badge to README.md 2015-05-06 07:44:50 +02:00
Sean McArthur
37dbf5ab44 Merge pull request #494 from pyfisch/traviskcov
chore(travis): Enable test coverage generation
2015-05-05 19:16:42 -07:00
Sean McArthur
0b6db397a5 Merge pull request #506 from hyperium/error-ssl
feat(error): add Ssl variant to hyper::Error
2015-05-05 18:49:09 -07:00
Sean McArthur
972b3a388a feat(error): add Ssl variant to hyper::Error
The errors from openssl were previously boxed into a
Box<std::error::Error>, which lost some specifics and made it difficult
to match against. To solve this, an `Ssl` variant is added to the
`Error` enum of hyper, and is returned when openssl returns specific
errors.

Closes #483

BREAKING CHANGE: Adds a variant to `hyper::Error`, which may break any
exhaustive matches.
2015-05-05 18:25:19 -07:00
Sean McArthur
18f7dd7d5b Merge pull request #507 from tshepang/typos
fix typos caught by codespell
2015-05-05 17:54:04 -07:00
Tshepang Lekhonkhobe
7ddea2791c docs(misc): fix typos caught by codespell 2015-05-06 02:34:07 +02:00
Sean McArthur
67340a5d3e Merge pull request #463 from hyperium/error-rename
refactor(error): remove redundant parts of error names
2015-05-05 12:34:00 -07:00
Sean McArthur
9ba074d150 refactor(error): remove redundant parts of error names
The old names followed the old style of including the module name and
"Error" in each variant. The new style is to refer to an error from its
owning module, and variants are now scoped to their enum, so there's no
need to include the enum name in the variant name.

BREAKING CHANGE: The terms `Http` and `Error` have been removed from the Error
  type and its variants. `HttpError` should now be accessed as `hyper::Error`,
  and variants like `HttpIoError` should be accessed as `Error::Io`.
2015-05-05 11:53:09 -07:00
Marko Lalic
c29af72972 feat(method): implement AsRef<str> for Method
This lets us obtain the string representation of the method in a
convenient and efficient manner.
2015-05-04 18:13:31 -07:00
Sean McArthur
a1e59fc6f9 Merge pull request #502 from pyfisch/accesscontrolalloworigin
feat(headers): Allow `null` value in Access-Control-Allow-Origin
2015-05-04 11:13:43 -07:00
Sean McArthur
c238890fa6 Merge pull request #503 from pyfisch/nice2
refactor(headers): Improve docs, fix nits, make formatting faster
2015-05-04 11:11:08 -07:00
Sean McArthur
33146bdbc2 Merge pull request #499 from pyfisch/upgradeprotocol
feat(headers): Parse Upgrade header protocols further
2015-05-04 10:28:55 -07:00
Pyfisch
db4d89189a style(headers): Break lines with over 100 characters 2015-05-03 15:45:11 +02:00
Pyfisch
66d54d03e7 refactor(headers): Improve docs, fix nits, make formatting faster
src/header/parsing.rs now uses unsafe get_unchecked() again, I don't
know why it was removed.
2015-05-03 13:56:32 +02:00
Pyfisch
5e3417145c feat(headers): Allow null value in Access-Control-Allow-Origin
The spec says the header can be either a `*`, `null` or an URL.
Improve docs of header.

BREAKING CHANGE: Add variant to Access-Control-Allow-Origin enum
2015-05-03 11:24:23 +02:00
Pyfisch
f47d11b97b feat(headers): Parse Upgrade header protocols further
Parses protocols into a name and a value part matching the RFC.
An enum contains all registered or known protocols, but contains
an extension variant.

Closes #480

BREAKING CHANGE: Upgrade header Protocol changed.
2015-05-03 10:02:48 +02:00
Sean McArthur
b916a7b18c Merge pull request #501 from pyfisch/from
feat(headers): Add From header field
2015-05-02 13:47:35 -07:00
Sean McArthur
ec13f982fe Merge pull request #500 from pyfisch/acceptranges
feat(headers): Add Accept-Ranges header field
2015-05-02 13:45:56 -07:00
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
da62ed4226 v0.3.16 2015-05-01 17:38:43 -07:00
Sean McArthur
d58eda4605 Merge pull request #498 from hyperium/raw-status
fix(http): keep raw reason phrase in RawStatus
2015-05-01 17:37:07 -07:00
Sean McArthur
8cdb9d5d3b fix(http): keep raw reason phrase in RawStatus
Closes #497
2015-05-01 15:08:48 -07:00