diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.4.3.1
+
+* Use CPP so we can work with `http-client` pre and post 0.5 [#17](https://github.com/fpco/http-reverse-proxy/pull/17)
+
 ## 0.4.3
 
 * Allow proxying to HTTPS servers. [#15](https://github.com/fpco/http-reverse-proxy/pull/15)
diff --git a/Network/HTTP/ReverseProxy.hs b/Network/HTTP/ReverseProxy.hs
--- a/Network/HTTP/ReverseProxy.hs
+++ b/Network/HTTP/ReverseProxy.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE ScopedTypeVariables   #-}
 {-# LANGUAGE LambdaCase            #-}
 {-# LANGUAGE TupleSections         #-}
+{-# LANGUAGE CPP                   #-}
 module Network.HTTP.ReverseProxy
     ( -- * Types
       ProxyDest (..)
@@ -353,8 +354,18 @@
     case edest of
         Left app -> maybe id timeBound (lpsTimeBound lps) $ app req0 sendResponse
         Right (ProxyDest host port, req, secure) -> tryWebSockets wps host port req sendResponse $ do
-            let req' = def
-                    { HC.method = WAI.requestMethod req
+            let req' =
+#if MIN_VERSION_http_client(0, 5, 0)
+                  HC.defaultRequest
+                    { HC.checkResponse = \_ _ -> return ()
+                    , HC.responseTimeout = maybe HC.responseTimeoutNone HC.responseTimeoutMicro $ lpsTimeBound lps
+#else
+                  def
+                    { HC.checkStatus = \_ _ _ -> Nothing
+                    , HC.responseTimeout = lpsTimeBound lps
+#endif
+                    , HC.method = WAI.requestMethod req
+                    , HC.secure = secure
                     , HC.host = host
                     , HC.port = port
                     , HC.path = WAI.rawPathInfo req
@@ -362,9 +373,6 @@
                     , HC.requestHeaders = fixReqHeaders wps req
                     , HC.requestBody = body
                     , HC.redirectCount = 0
-                    , HC.secure = secure
-                    , HC.checkStatus = \_ _ _ -> Nothing
-                    , HC.responseTimeout = lpsTimeBound lps
                     }
                 body =
                     case WAI.requestBodyLength req of
diff --git a/http-reverse-proxy.cabal b/http-reverse-proxy.cabal
--- a/http-reverse-proxy.cabal
+++ b/http-reverse-proxy.cabal
@@ -1,5 +1,5 @@
 name:                http-reverse-proxy
-version:             0.4.3
+version:             0.4.3.1
 synopsis:            Reverse proxy HTTP requests, either over raw sockets or with WAI
 description:         Provides a simple means of reverse-proxying HTTP requests. The raw approach uses the same technique as leveraged by keter, whereas the WAI approach performs full request/response parsing via WAI and http-conduit.
 homepage:            https://github.com/fpco/http-reverse-proxy
