diff --git a/wai-extra/ChangeLog.md b/wai-extra/ChangeLog.md index 9969cd1a..14d09713 100644 --- a/wai-extra/ChangeLog.md +++ b/wai-extra/ChangeLog.md @@ -1,5 +1,9 @@ # Changelog for wai-extra +## 3.1.16 + +* Added instances `Foldable` and `Traversable` for `UrlMap'` [#992](https://github.com/yesodweb/wai/pull/992) + ## 3.1.15 * Added `validateHeadersMiddleware` for validating response headers set by the application [#990](https://github.com/yesodweb/wai/pull/990). diff --git a/wai-extra/Network/Wai/UrlMap.hs b/wai-extra/Network/Wai/UrlMap.hs index 96cc54f2..7fc95fee 100644 --- a/wai-extra/Network/Wai/UrlMap.hs +++ b/wai-extra/Network/Wai/UrlMap.hs @@ -52,6 +52,14 @@ instance Alternative UrlMap' where empty = UrlMap' empty (UrlMap' xs) <|> (UrlMap' ys) = UrlMap' (xs <|> ys) +-- | @since 3.1.16 +instance Foldable UrlMap' where + foldr f z (UrlMap' xs) = foldr (f . snd) z xs + +-- | @since 3.1.16 +instance Traversable UrlMap' where + traverse f (UrlMap' xs) = UrlMap' <$> traverse (traverse f) xs + type UrlMap = UrlMap' Application -- | Mount an application under a given path. The ToApplication typeclass gives diff --git a/wai-extra/wai-extra.cabal b/wai-extra/wai-extra.cabal index b8f8d76c..c0221ca5 100644 --- a/wai-extra/wai-extra.cabal +++ b/wai-extra/wai-extra.cabal @@ -1,5 +1,5 @@ Name: wai-extra -Version: 3.1.15 +Version: 3.1.16 Synopsis: Provides some basic WAI handlers and middleware. description: Provides basic WAI handler and middleware functionality: