1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2025-01-03 13:58:44 +00:00

Fix http/2 date header generation

This commit is contained in:
Nikolay Kim 2018-03-20 11:40:05 -07:00
parent 978091cedb
commit c4f4cadb43
4 changed files with 10 additions and 4 deletions

View file

@ -8,9 +8,11 @@
* Allow to set client websocket handshake timeout * Allow to set client websocket handshake timeout
* Refactor `TestServer` configuration
* Fix server websockets big payloads support * Fix server websockets big payloads support
* Refactor `TestServer` configuration * Fix http/2 date header generation
## 0.4.9 (2018-03-16) ## 0.4.9 (2018-03-16)

View file

@ -90,7 +90,7 @@ impl<H: 'static> Writer for H2Writer<H> {
// using helpers::date is quite a lot faster // using helpers::date is quite a lot faster
if !msg.headers().contains_key(DATE) { if !msg.headers().contains_key(DATE) {
let mut bytes = BytesMut::with_capacity(29); let mut bytes = BytesMut::with_capacity(29);
self.settings.set_date(&mut bytes); self.settings.set_date_simple(&mut bytes);
msg.headers_mut().insert(DATE, HeaderValue::try_from(bytes.freeze()).unwrap()); msg.headers_mut().insert(DATE, HeaderValue::try_from(bytes.freeze()).unwrap());
} }

View file

@ -183,6 +183,10 @@ impl<H> WorkerSettings<H> {
buf[35..].copy_from_slice(b"\r\n\r\n"); buf[35..].copy_from_slice(b"\r\n\r\n");
dst.extend_from_slice(&buf); dst.extend_from_slice(&buf);
} }
pub fn set_date_simple(&self, dst: &mut BytesMut) {
dst.extend_from_slice(&(unsafe{&*self.date.get()}.bytes));
}
} }
struct Date { struct Date {

View file

@ -742,8 +742,8 @@ fn test_h2() {
}) })
}) })
}); });
let _res = core.run(tcp); let res = core.run(tcp);
// assert_eq!(res.unwrap(), Bytes::from_static(STR.as_ref())); assert_eq!(res.unwrap(), Bytes::from_static(STR.as_ref()));
} }
#[test] #[test]