@@ -173,7 +173,7 @@ sendResponse conn ii restore req reqidxhdr leftover' response = do
173 rspidxhdr = indexResponseHeader hs0
173 rspidxhdr = indexResponseHeader hs0
174 th = threadHandle ii
174 th = threadHandle ii
175 dc = dateCacher ii
175 dc = dateCacher ii
176− addServerAndDate = addDate dc . addServer rspidxhdr
176+ addServerAndDate = addDate dc rspidxhdr . addServer rspidxhdr
177 mRange = reqidxhdr ! idxRange
177 mRange = reqidxhdr ! idxRange
178 reqinfo@(isPersist,_) = infoFromRequest req reqidxhdr
178 reqinfo@(isPersist,_) = infoFromRequest req reqidxhdr
179 (isKeepAlive, needsChunked) = infoFromResponse rspidxhdr reqinfo
179 (isKeepAlive, needsChunked) = infoFromResponse rspidxhdr reqinfo
@@ -378,10 +378,12 @@ addContentRange beg end total hdrs = (hContentRange, range) : hdrs
379 : showInt total ""))
379 : showInt total ""))
381−addDate :: D.DateCache -> H.ResponseHeaders -> IO H.ResponseHeaders
381+addDate :: D.DateCache -> IndexedHeader -> H.ResponseHeaders -> IO H.ResponseHeaders
382−addDate dc hdrs = do
382+addDate dc rspidxhdr hdrs = case rspidxhdr ! idxDate of
383− gmtdate <- D.getDate dc
384+ gmtdate <- D.getDate dc
384− return $ (H.hDate, gmtdate) : hdrs
385+ return $ (H.hDate, gmtdate) : hdrs
386+ Just _ -> return hdrs
386----------------------------------------------------------------
388----------------------------------------------------------------