yesod-page-cursor 2.0.0.4 → 2.0.0.5
raw patch · 5 files changed
+39/−8 lines, 5 filesdep ~persistent
Dependency ranges changed: persistent
Files
- ChangeLog.md +5/−0
- src/Network/HTTP/Link/Compat.hs +25/−0
- src/Yesod/Page/RenderedRoute.hs +3/−3
- test/Spec.hs +3/−3
- yesod-page-cursor.cabal +3/−2
ChangeLog.md view
@@ -2,6 +2,11 @@ ## Unreleased changes +## [v2.0.0.5](https://github.com/freckle/yesod-page-cursor/compare/v2.0.0.4...v2.0.0.5)++- Relax persistent upper bound+- Fix errors with http-link-header 1.2+ ## [v2.0.0.4](https://github.com/freckle/yesod-page-cursor/compare/v2.0.0.3...v2.0.0.4) - Relax lens upper bound
+ src/Network/HTTP/Link/Compat.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE CPP #-}+module Network.HTTP.Link.Compat+ ( Link+ , linkURI+ , parseLinkURI+ , module Network.HTTP.Link+ )+where++import Data.Text (Text)+import Network.HTTP.Link hiding (Link)+import qualified Network.HTTP.Link as HTTP+import Network.URI (URI)++#if MIN_VERSION_http_link_header(1,2,0)+type Link = HTTP.Link URI+#else+type Link = HTTP.Link+#endif++linkURI :: URI -> [(LinkParam, Text)] -> Link+linkURI = HTTP.Link++parseLinkURI :: Text -> Either String [Link]+parseLinkURI = parseLinkHeader'
src/Yesod/Page/RenderedRoute.hs view
@@ -16,7 +16,7 @@ import Data.Map (Map) import qualified Data.Map as Map import Data.Text (Text, intercalate, pack, unpack)-import Network.HTTP.Link+import Network.HTTP.Link.Compat import Network.URI (URI(..), escapeURIString, isUnescapedInURIComponent) import UnliftIO (throwString) import Yesod.Core@@ -40,7 +40,7 @@ -- | Convert a @'RenderedRoute'@ into a @'Link'@ with the given @'Rel'@ renderedRouteLink :: Text -> RenderedRoute -> Link-renderedRouteLink rel = flip Link [(Rel, rel)] . renderedRouteURI+renderedRouteLink rel = flip linkURI [(Rel, rel)] . renderedRouteURI -- | Convert a @'RenderedRoute'@ into a (relative) @'URI'@ renderedRouteURI :: RenderedRoute -> URI@@ -68,7 +68,7 @@ let (path, _query) = renderRoute route query <- reqGetParams <$> getRequest - pure $ RenderedRoute {renderedRoutePath = path, renderedRouteQuery = query}+ pure $ RenderedRoute { renderedRoutePath = path, renderedRouteQuery = query } -- | Update a single query parameter and preserve the rest --
test/Spec.hs view
@@ -10,7 +10,7 @@ import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.IO.Unlift (MonadUnliftIO) import Control.Monad.Logger (NoLoggingT, runNoLoggingT)-import Data.Aeson.Lens (key, _Array, _Number, _String)+import Data.Aeson.Lens (_Array, _Number, _String, key) import Data.ByteString.Lazy (ByteString) import Data.Foldable (traverse_) import Data.List (find)@@ -22,7 +22,7 @@ import Database.Persist (Filter, deleteWhere, insert) import Database.Persist.Sql (SqlPersistT, insertMany_, runMigration) import GHC.Stack (HasCallStack)-import Network.HTTP.Link+import Network.HTTP.Link.Compat import Network.HTTP.Types.Header (HeaderName) import Network.Wai.Test (simpleBody, simpleHeaders) import Test.Hspec (Spec, SpecWith, beforeAll, before_, describe, hspec, it)@@ -265,7 +265,7 @@ pure $ do header <- mHeader- parsed <- either (const Nothing) Just $ parseLinkHeader' header+ parsed <- either (const Nothing) Just $ parseLinkURI header link <- find (((Rel, rel) `elem`) . linkParams) parsed pure $ pack $ show $ href link
yesod-page-cursor.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: yesod-page-cursor-version: 2.0.0.4+version: 2.0.0.5 license: MIT license-file: LICENSE copyright: 2020 Renaissance Learning Inc@@ -20,6 +20,7 @@ library exposed-modules:+ Network.HTTP.Link.Compat Yesod.Page Yesod.Page.RenderedRoute @@ -59,7 +60,7 @@ lens-aeson ==1.1.*, monad-logger >=0.3.36 && <0.4, mtl >=2.2.2 && <2.3,- persistent >=2.11.0.2 && <2.12,+ persistent >=2.11.0.2 && <2.13, persistent-sqlite >=2.11.0.0 && <2.12, persistent-template >=2.9.1.0 && <2.10, scientific >=0.3.6.2 && <0.4,