@@ -18,6 +18,10 @@ module Network.Wai.Handler.Warp.Response (
1818#define MIN_VERSION_base(x,y,z) 1
1919#endif
2020
21+#ifndef MIN_VERSION_http_types
22+#define MIN_VERSION_http_types(x,y,z) 1
23+#endif
24+
2125import Blaze.ByteString.Builder.HTTP (chunkedTransferEncoding, chunkedTransferTerminator)
2226#if __GLASGOW_HASKELL__ < 709
2327import Control.Applicative
@@ -46,7 +50,9 @@ import Data.Streaming.Blaze (newBlazeRecv, reuseBufferStrategy)
4650import Data.Version (showVersion)
4751import Data.Word8 (_cr, _lf)
4852import qualified Network.HTTP.Types as H
53+#if MIN_VERSION_http_types(0,9,0)
4954import qualified Network.HTTP.Types.Header as H
55+#endif
5056import Network.Wai
5157import Network.Wai.Handler.Warp.Buffer (toBuilderBuffer)
5258import qualified Network.Wai.Handler.Warp.Date as D
@@ -378,7 +384,11 @@ hasBody s = sc /= 204
378384----------------------------------------------------------------
379385
380386addTransferEncoding :: H.ResponseHeaders -> H.ResponseHeaders
387+#if MIN_VERSION_http_types(0,9,0)
381388addTransferEncoding hdrs = (H.hTransferEncoding, "chunked") : hdrs
389+#else
390+addTransferEncoding hdrs = ("transfer-encoding", "chunked") : hdrs
391+#endif
382392
383393addDate :: D.DateCache -> IndexedHeader -> H.ResponseHeaders -> IO H.ResponseHeaders
384394addDate dc rspidxhdr hdrs = case rspidxhdr ! idxDate of