refactor(header): Implement HttpDate, a wrapper for dates
Using `time::Tm` directly in HTTP header fields requires special handling to parse and format the header values., this stops us from using the header macros. By wrapping `time::Time` in a `HttpDate`, we can use the `FromStr` and `Display` traits of `HttpDate` like for most other values. BREAKING_CHANGE: All code using one of the `Date`, `Expires`, `If-Modified-Since`, `If-Unmodified-Since`, `Last-Modified` header fields needs to wrap `time::Tm` with `HttpDate`. Removed `FromStr` trait of `Date`, `If-Modified-Sice` and `If-Unmodified-Sice`, implementing the trait here is inconsistent with other headers.
This commit is contained in:
@@ -75,7 +75,7 @@ impl<'a> Response<'a, Fresh> {
|
||||
try!(write!(&mut self.body, "{} {}{}{}", self.version, self.status, CR as char, LF as char));
|
||||
|
||||
if !self.headers.has::<header::Date>() {
|
||||
self.headers.set(header::Date(now_utc()));
|
||||
self.headers.set(header::Date(header::HttpDate(now_utc())));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user