@@ -157,14 +157,15 @@ checkPartRange fileSize = checkPart
157157-- Typically, Transfer-Encoding: chunked is used.
158158-- If Content-Length is specified, Transfer-Encoding: chunked is not used.
159159
160−sendResponse :: Connection
160+sendResponse :: ByteString -- ^ default server value
161+ -> Connection
161162 -> InternalInfo
162163 -> Request -- ^ HTTP request.
163164 -> IndexedHeader -- ^ Indexed header of HTTP request.
164165 -> IO ByteString -- ^ source from client, for raw response
165166 -> Response -- ^ HTTP response including status code and response header.
166167 -> IO Bool -- ^ Returing True if the connection is persistent.
167−sendResponse conn ii req reqidxhdr src response = do
168+sendResponse defServer conn ii req reqidxhdr src response = do
168169 hs <- addServerAndDate hs0
169170 if hasBody s req then do
170171 sendRsp conn ver s hs rsp
@@ -181,7 +182,7 @@ sendResponse conn ii req reqidxhdr src response = do
181182 rspidxhdr = indexResponseHeader hs0
182183 th = threadHandle ii
183184 dc = dateCacher ii
184− addServerAndDate = addDate dc rspidxhdr . addServer rspidxhdr
185+ addServerAndDate = addDate dc rspidxhdr . addServer defServer rspidxhdr
185186 mRange = reqidxhdr ! idxRange
186187 reqinfo@(isPersist,_) = infoFromRequest req reqidxhdr
187188 (isKeepAlive, needsChunked) = infoFromResponse rspidxhdr reqinfo
@@ -389,9 +390,9 @@ warpVersion = showVersion Paths_warp.version
389390defaultServerValue :: HeaderValue
390391defaultServerValue = B.pack $ "Warp/" ++ warpVersion
391392
392−addServer :: IndexedHeader -> H.ResponseHeaders -> H.ResponseHeaders
393−addServer rspidxhdr hdrs = case rspidxhdr ! idxServer of
394− Nothing -> (hServer, defaultServerValue) : hdrs
393+addServer :: HeaderValue -> IndexedHeader -> H.ResponseHeaders -> H.ResponseHeaders
394+addServer defaultServerValue' rspidxhdr hdrs = case rspidxhdr ! idxServer of
395+ Nothing -> (hServer, defaultServerValue') : hdrs
395396 _ -> hdrs
396397
397398----------------------------------------------------------------