Skip to content

Commit ef5cc53

Browse files
authored
yesod-core: Dispatch builds with 'wai-extra >= 3.0.7' again (#1861)
* yesod-core: Dispatch builds with 'wai-extra >= 3.0.7' again * yesod-core: fixed link in changelog * fix CI
1 parent 84d28cd commit ef5cc53

File tree

7 files changed

+68
-30
lines changed

7 files changed

+68
-30
lines changed

.github/workflows/tests.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,17 @@ jobs:
1515
matrix:
1616
os: [ubuntu-latest, macos-latest, windows-latest]
1717
args:
18-
- "--resolver lts-22"
19-
- "--resolver lts-20"
20-
- "--resolver lts-18"
21-
- "--resolver lts-16"
18+
- "--resolver lts-23"
19+
- "--resolver lts-22 --stack-yaml stack-lts-22.yaml"
20+
- "--resolver lts-20 --stack-yaml stack-lts-22.yaml"
21+
- "--resolver lts-18 --stack-yaml stack-lts-22.yaml"
22+
- "--resolver lts-16 --stack-yaml stack-lts-22.yaml"
2223
exclude:
2324
# llvm too new on macos-latest for ghc 8
2425
- os: macos-latest
25-
args: "--resolver lts-18"
26+
args: "--resolver lts-18 --stack-yaml stack-lts-22.yaml"
2627
- os: macos-latest
27-
args: "--resolver lts-16"
28+
args: "--resolver lts-16 --stack-yaml stack-lts-22.yaml"
2829

2930
steps:
3031
- name: Clone project

stack-lts-22.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
resolver: lts-22.43
2+
packages:
3+
- ./yesod-core
4+
- ./yesod-static
5+
- ./yesod-persistent
6+
- ./yesod-newsfeed
7+
- ./yesod-form
8+
- ./yesod-form-multi
9+
- ./yesod-auth
10+
- ./yesod-auth-oauth
11+
- ./yesod-sitemap
12+
- ./yesod-test
13+
- ./yesod-bin
14+
- ./yesod
15+
- ./yesod-eventsource
16+
- ./yesod-websockets
17+
18+
extra-deps:
19+
- attoparsec-aeson-2.1.0.0
20+
- crypton-1.0.0
21+
- crypton-conduit-0.2.3

stack.yaml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resolver: lts-18.3
1+
resolver: lts-23.10
22
packages:
33
- ./yesod-core
44
- ./yesod-static
@@ -15,7 +15,4 @@ packages:
1515
- ./yesod-eventsource
1616
- ./yesod-websockets
1717

18-
extra-deps:
19-
- attoparsec-aeson-2.1.0.0
20-
- crypton-1.0.0
21-
- crypton-conduit-0.2.3
18+
extra-deps: []

stack.yaml.lock

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,10 @@
33
# For more information, please see the documentation at:
44
# https://docs.haskellstack.org/en/stable/lock_files
55

6-
packages:
7-
- completed:
8-
hackage: attoparsec-aeson-2.1.0.0@sha256:fa83aba43bfa58490de8f274d19b9d58b6403a207b12cac5f93922102b084c52,1154
9-
pantry-tree:
10-
sha256: 294c3a8a19a7ddad58097e18c624c6b34894b3c4a4cc490759cb31d842db242a
11-
size: 114
12-
original:
13-
hackage: attoparsec-aeson-2.1.0.0
6+
packages: []
147
snapshots:
158
- completed:
16-
sha256: 694573e96dca34db5636edb1fe6c96bb233ca0f9fb96c1ead1671cdfa9bd73e9
17-
size: 585603
18-
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/3.yaml
19-
original: lts-18.3
9+
sha256: 889b6bffaf21cd509a7c6017703281e77c2f6df0a0908a11c85fa97fcbf11d4e
10+
size: 680573
11+
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/23/10.yaml
12+
original: lts-23.10

yesod-core/ChangeLog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# ChangeLog for yesod-core
22

3+
## 1.6.27.0
4+
5+
* Build with `wai-extra-3.1.17` [#1861](https://github.com/yesodweb/yesod/pull/1861)
6+
37
## 1.6.26.0
48

59
* Always apply jsAttributes to julius script blocks of body [#1836](https://github.com/yesodweb/yesod/pull/1836)

yesod-core/src/Yesod/Core/Dispatch.hs

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
{-# LANGUAGE TemplateHaskell #-}
2-
{-# LANGUAGE OverloadedStrings #-}
3-
{-# LANGUAGE TypeFamilies #-}
1+
{-# LANGUAGE CPP #-}
42
{-# LANGUAGE FlexibleInstances #-}
53
{-# LANGUAGE MultiParamTypeClasses #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TemplateHaskell #-}
6+
{-# LANGUAGE TypeFamilies #-}
67
module Yesod.Core.Dispatch
78
( -- * Quasi-quoted routing
89
parseRoutes
@@ -63,6 +64,9 @@ import qualified Data.ByteString as S
6364
import qualified Data.ByteString.Lazy as BL
6465
import qualified Data.ByteString.Char8 as S8
6566
import Data.ByteString.Builder (byteString, toLazyByteString)
67+
#if !MIN_VERSION_wai_extra(3,1,14)
68+
import Data.Default (def)
69+
#endif
6670
import Network.HTTP.Types (status301, status307)
6771
import Yesod.Routes.Parse
6872
import Yesod.Core.Types
@@ -78,7 +82,12 @@ import Yesod.Core.Internal.Util (getCurrentMaxExpiresRFC1123)
7882
import Network.Wai.Middleware.Autohead
7983
import Network.Wai.Middleware.AcceptOverride
8084
import Network.Wai.Middleware.RequestLogger
81-
import Network.Wai.Middleware.Gzip
85+
import Network.Wai.Middleware.Gzip (
86+
gzip,
87+
#if MIN_VERSION_wai_extra(3,1,14)
88+
defaultGzipSettings,
89+
#endif
90+
)
8291
import Network.Wai.Middleware.MethodOverride
8392

8493
import qualified Network.Wai.Handler.Warp
@@ -244,7 +253,12 @@ serverValue = S8.pack $ concat
244253
-- Since 1.2.0
245254
mkDefaultMiddlewares :: Logger -> IO W.Middleware
246255
mkDefaultMiddlewares logger = do
247-
logWare <- mkRequestLogger def
256+
logWare <- mkRequestLogger
257+
#if MIN_VERSION_wai_extra(3,1,8)
258+
defaultRequestLoggerSettings
259+
#else
260+
def
261+
#endif
248262
{ destination = Network.Wai.Middleware.RequestLogger.Logger $ loggerSet logger
249263
, outputFormat = Apache FromSocket
250264
}
@@ -254,7 +268,14 @@ mkDefaultMiddlewares logger = do
254268
--
255269
-- Since 1.2.12
256270
defaultMiddlewaresNoLogging :: W.Middleware
257-
defaultMiddlewaresNoLogging = acceptOverride . autohead . gzip def . methodOverride
271+
defaultMiddlewaresNoLogging = acceptOverride . autohead . gzip gzipSettings . methodOverride
272+
where
273+
gzipSettings =
274+
#if MIN_VERSION_wai_extra(3,1,14)
275+
defaultGzipSettings
276+
#else
277+
def
278+
#endif
258279

259280
-- | Deprecated synonym for 'warp'.
260281
warpDebug :: YesodDispatch site => Int -> site -> IO ()

yesod-core/yesod-core.cabal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: yesod-core
2-
version: 1.6.26.0
2+
version: 1.6.27.0
33
license: MIT
44
license-file: LICENSE
55
author: Michael Snoyman <[email protected]>
@@ -39,6 +39,7 @@ library
3939
, conduit-extra
4040
, containers >= 0.2
4141
, cookie >= 0.4.3 && < 0.6
42+
, data-default
4243
, deepseq >= 1.3
4344
, entropy
4445
, fast-logger >= 2.2

0 commit comments

Comments
 (0)