feat(server): add upgrade support to lower-level Connection API (#1459)

Closes #1323
This commit is contained in:
Sean McArthur
2018-03-09 10:05:27 -08:00
committed by GitHub
parent eb15c660c1
commit d58aa73246
7 changed files with 229 additions and 104 deletions

View File

@@ -500,6 +500,8 @@ where I: AsyncRead + AsyncWrite,
Ok(encoder) => {
if !encoder.is_eof() {
Writing::Body(encoder)
} else if encoder.is_last() {
Writing::Closed
} else {
Writing::KeepAlive
}
@@ -566,7 +568,11 @@ where I: AsyncRead + AsyncWrite,
self.io.buffer(encoded);
if encoder.is_eof() {
Writing::KeepAlive
if encoder.is_last() {
Writing::Closed
} else {
Writing::KeepAlive
}
} else {
return Ok(AsyncSink::Ready);
}
@@ -577,7 +583,11 @@ where I: AsyncRead + AsyncWrite,
if let Some(end) = end {
self.io.buffer(end);
}
Writing::KeepAlive
if encoder.is_last() {
Writing::Closed
} else {
Writing::KeepAlive
}
},
Err(_not_eof) => Writing::Closed,
}