refactor(header): change HttpDate to opaque over SystemTime

This removes the need for someone to use the `time` crate to create a
date compatible with HTTP headers. It now works with the `SystemTime`
type from the standard library.

BREAKING CHANGE: `HttpDate` no longer has public fields. Convert between
  `HttpDate` and `SystemTime` as needed.
This commit is contained in:
Sean McArthur
2017-04-24 15:09:10 -07:00
parent 011f28cb18
commit 316c6fad30
10 changed files with 106 additions and 129 deletions

View File

@@ -1,5 +1,6 @@
use std::borrow::Cow;
use std::fmt::{self, Write};
use std::time::SystemTime;
use httparse;
use bytes::{BytesMut, Bytes};
@@ -94,7 +95,7 @@ impl Http1Transaction for ServerTransaction {
trace!("writing head: {:?}", head);
if !head.headers.has::<header::Date>() {
head.headers.set(header::Date(header::HttpDate(::time::now_utc())));
head.headers.set(header::Date(SystemTime::now().into()));
}
let mut is_chunked = true;