There are many changes involved with this, but let's just talk about
user-facing changes.
- Creating a `Client` and `Server` now needs a Tokio `Core` event loop
to attach to.
- `Request` and `Response` both no longer implement the
`std::io::{Read,Write}` traits, but instead represent their bodies as a
`futures::Stream` of items, where each item is a `Chunk`.
- The `Client.request` method now takes a `Request`, instead of being
used as a builder, and returns a `Future` that resolves to `Response`.
- The `Handler` trait for servers is no more, and instead the Tokio
`Service` trait is used. This allows interoperability with generic
middleware.
BREAKING CHANGE: A big sweeping set of breaking changes.
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use method::Method;
 | |
| 
 | |
| header! {
 | |
|     /// `Access-Control-Allow-Methods` header, part of
 | |
|     /// [CORS](http://www.w3.org/TR/cors/#access-control-allow-methods-response-header)
 | |
|     ///
 | |
|     /// The `Access-Control-Allow-Methods` header indicates, as part of the
 | |
|     /// response to a preflight request, which methods can be used during the
 | |
|     /// actual request.
 | |
|     ///
 | |
|     /// # ABNF
 | |
|     /// ```plain
 | |
|     /// Access-Control-Allow-Methods: "Access-Control-Allow-Methods" ":" #Method
 | |
|     /// ```
 | |
|     ///
 | |
|     /// # Example values
 | |
|     /// * `PUT, DELETE, XMODIFY`
 | |
|     ///
 | |
|     /// # Examples
 | |
|     /// ```
 | |
|     /// use hyper::header::{Headers, AccessControlAllowMethods};
 | |
|     /// use hyper::Method;
 | |
|     ///
 | |
|     /// let mut headers = Headers::new();
 | |
|     /// headers.set(
 | |
|     ///     AccessControlAllowMethods(vec![Method::Get])
 | |
|     /// );
 | |
|     /// ```
 | |
|     /// ```
 | |
|     /// use hyper::header::{Headers, AccessControlAllowMethods};
 | |
|     /// use hyper::Method;
 | |
|     ///
 | |
|     /// let mut headers = Headers::new();
 | |
|     /// headers.set(
 | |
|     ///     AccessControlAllowMethods(vec![
 | |
|     ///         Method::Get,
 | |
|     ///         Method::Post,
 | |
|     ///         Method::Patch,
 | |
|     ///         Method::Extension("COPY".to_owned()),
 | |
|     ///     ])
 | |
|     /// );
 | |
|     /// ```
 | |
|     (AccessControlAllowMethods, "Access-Control-Allow-Methods") => (Method)*
 | |
| 
 | |
|     test_access_control_allow_methods {
 | |
|         test_header!(test1, vec![b"PUT, DELETE, XMODIFY"]);
 | |
|     }
 | |
| }
 |