Update yesod for aeson 2

This commit is contained in:
Michael Snoyman 2022-02-11 06:00:02 +02:00
parent 3583fe2a03
commit 6e7e7299ba
No known key found for this signature in database
GPG Key ID: 907EAE2F42B52046
4 changed files with 20 additions and 5 deletions

View File

@ -1,5 +1,9 @@
# ChangeLog for yesod
## 1.6.2
* aeson 2
## 1.6.1.2
* Fix compatibility with template-haskell 2.17 [#1730](https://github.com/yesodweb/yesod/pull/1730)

View File

@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternGuards #-}
module Yesod.Default.Config
@ -19,12 +20,17 @@ import Data.Text (Text)
import qualified Data.Text as T
import Data.Yaml
import Data.Maybe (fromMaybe)
import qualified Data.HashMap.Strict as M
import System.Environment (getArgs, getProgName, getEnvironment)
import System.Exit (exitFailure)
import Data.Streaming.Network (HostPreference)
import Data.String (fromString)
#if MIN_VERSION_aeson(2, 0, 0)
import qualified Data.Aeson.KeyMap as M
#else
import qualified Data.HashMap.Strict as M
#endif
-- | A yesod-provided @'AppEnv'@, allows for Development, Testing, and
-- Production environments
data DefaultEnv = Development
@ -143,7 +149,7 @@ configSettings env0 = ConfigSettings
Object obj -> return obj
_ -> fail "Expected Object"
let senv = show env
tenv = T.pack senv
tenv = fromString senv
maybe
(error $ "Could not find environment: " ++ senv)
return
@ -237,5 +243,5 @@ withYamlEnvironment fp env f = do
Left err ->
fail $ "Invalid YAML file: " ++ show fp ++ " " ++ prettyPrintParseException err
Right (Object obj)
| Just v <- M.lookup (T.pack $ show env) obj -> parseMonad f v
| Just v <- M.lookup (fromString $ show env) obj -> parseMonad f v
_ -> fail $ "Could not find environment: " ++ show env

View File

@ -30,7 +30,6 @@ import Data.Yaml.Config
import Data.Semigroup
import Data.Aeson
import qualified Data.HashMap.Strict as H
import System.Environment (getEnvironment)
import Network.Wai (Application)
import Network.Wai.Handler.Warp
@ -43,6 +42,12 @@ import Network.Wai.Logger (clockDateCacher)
import Yesod.Core.Types (Logger (Logger))
import System.Log.FastLogger (LoggerSet)
#if MIN_VERSION_aeson(2, 0, 0)
import qualified Data.Aeson.KeyMap as H
#else
import qualified Data.HashMap.Strict as H
#endif
#ifndef mingw32_HOST_OS
import System.Posix.Signals (installHandler, sigINT, Handler(Catch))
#endif

View File

@ -1,5 +1,5 @@
name: yesod
version: 1.6.1.2
version: 1.6.2
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael@snoyman.com>