Add a workaround for yesodweb/wai#478
This commit is contained in:
parent
288c457cfa
commit
1fb697ff0d
@ -1,3 +1,7 @@
|
||||
## 1.4.16.1
|
||||
|
||||
* Workaround for [wai#478](https://github.com/yesodweb/wai/issues/478)
|
||||
|
||||
## 1.4.16
|
||||
|
||||
* Some updates for better reverse proxying [yesod-scaffold#114](https://github.com/yesodweb/yesod-scaffold/issues/114)
|
||||
|
||||
@ -77,7 +77,8 @@ import Network.HTTP.ReverseProxy (ProxyDest (ProxyDest),
|
||||
import qualified Network.HTTP.ReverseProxy as ReverseProxy
|
||||
import Network.HTTP.Types (status200, status503)
|
||||
import Network.Socket (sClose)
|
||||
import Network.Wai (responseLBS, requestHeaders)
|
||||
import Network.Wai (responseLBS, requestHeaders,
|
||||
requestHeaderHost)
|
||||
import Network.Wai.Parse (parseHttpAccept)
|
||||
import Network.Wai.Handler.Warp (run, defaultSettings, setPort)
|
||||
import Network.Wai.Handler.WarpTLS (runTLS, tlsSettingsMemory)
|
||||
@ -192,7 +193,18 @@ reverseProxy opts iappPort = do
|
||||
let req' = req
|
||||
{ requestHeaders
|
||||
= ("X-Forwarded-Proto", "https")
|
||||
: requestHeaders req
|
||||
-- Workaround for
|
||||
-- https://github.com/yesodweb/wai/issues/478, where
|
||||
-- the Host headers aren't set. Without this, generated
|
||||
-- URLs from guestApproot are incorrect, see:
|
||||
-- https://github.com/yesodweb/yesod-scaffold/issues/114
|
||||
: (case lookup "host" (requestHeaders req) of
|
||||
Nothing ->
|
||||
case requestHeaderHost req of
|
||||
Just host -> (("Host", host):)
|
||||
Nothing -> id
|
||||
Just _ -> id)
|
||||
(requestHeaders req)
|
||||
}
|
||||
app req' send
|
||||
httpProxy = run (develPort opts) proxyApp
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name: yesod-bin
|
||||
version: 1.4.16
|
||||
version: 1.4.16.1
|
||||
license: MIT
|
||||
license-file: LICENSE
|
||||
author: Michael Snoyman <michael@snoyman.com>
|
||||
@ -82,7 +82,7 @@ executable yesod
|
||||
, transformers
|
||||
, transformers-compat
|
||||
, warp >= 1.3.7.5
|
||||
, wai >= 1.4
|
||||
, wai >= 2.0
|
||||
, wai-extra
|
||||
, data-default-class
|
||||
, streaming-commons
|
||||
|
||||
Loading…
Reference in New Issue
Block a user