|
1 | 1 | use super::{Buffer, HyperIntoWsError, WsUpgrade, Request, validate}; |
2 | 2 | use std::io::{self, ErrorKind}; |
| 3 | +use tokio_io::codec::FramedParts; |
3 | 4 | use hyper::header::Headers; |
4 | 5 | use stream::AsyncStream; |
5 | 6 | use futures::{Stream, Future}; |
@@ -56,21 +57,21 @@ impl<S> AsyncIntoWs for S |
56 | 57 | let future = self.framed(HttpServerCodec) |
57 | 58 | .into_future() |
58 | 59 | .map_err(|(e, s)| { |
59 | | - let (stream, buffer) = s.into_parts(); |
60 | | - (stream, None, Some(buffer), e.into()) |
| 60 | + let FramedParts { inner, readbuf, .. } = s.into_parts(); |
| 61 | + (inner, None, Some(readbuf), e.into()) |
61 | 62 | }) |
62 | 63 | .and_then(|(m, s)| { |
63 | | - let (stream, buffer) = s.into_parts(); |
| 64 | + let FramedParts { inner, readbuf, .. } = s.into_parts(); |
64 | 65 | if let Some(msg) = m { |
65 | 66 | match validate(&msg.subject.0, &msg.version, &msg.headers) { |
66 | | - Ok(()) => Ok((msg, stream, buffer)), |
67 | | - Err(e) => Err((stream, None, Some(buffer), e)), |
| 67 | + Ok(()) => Ok((msg, inner, readbuf)), |
| 68 | + Err(e) => Err((inner, None, Some(readbuf), e)), |
68 | 69 | } |
69 | 70 | } else { |
70 | 71 | let err = HyperIntoWsError::Io(io::Error::new( |
71 | 72 | ErrorKind::ConnectionReset, |
72 | 73 | "Connection dropped before handshake could be read")); |
73 | | - Err((stream, None, Some(buffer), err)) |
| 74 | + Err((inner, None, Some(readbuf), err)) |
74 | 75 | } |
75 | 76 | }) |
76 | 77 | .map(|(m, stream, buffer)| { |
|
0 commit comments