web-routes 0.25.2 → 0.25.3
raw patch · 3 files changed
+24/−7 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Web/Routes/PathInfo.hs +23/−4
- Web/Routes/Site.hs +0/−2
- web-routes.cabal +1/−1
Web/Routes/PathInfo.hs view
@@ -1,13 +1,28 @@ {-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}-module Web.Routes.PathInfo where+module Web.Routes.PathInfo+ ( stripOverlap+ , URLParser+ , pToken+ , segment+ , anySegment+ , patternParse+ , parseSegments+ , PathInfo(..)+ , toPathInfo+ , toPathInfoParams+ , fromPathInfo+ , mkSitePI+ , showParseError+ ) where -import Control.Applicative (pure, (*>),(<*>))+import Control.Applicative ((<*)) import Control.Monad (msum) import Data.List (stripPrefix, tails) import Data.Maybe (fromJust)+import Text.ParserCombinators.Parsec.Combinator (notFollowedBy) import Text.ParserCombinators.Parsec.Error (ParseError, errorPos, errorMessages, showErrorMessages) import Text.ParserCombinators.Parsec.Pos (incSourceLine, sourceName, sourceLine, sourceColumn)-import Text.ParserCombinators.Parsec.Prim ((<?>), GenParser, getInput, setInput, pzero,getPosition, token, parse, many)+import Text.ParserCombinators.Parsec.Prim ((<?>), GenParser, getInput, setInput, getPosition, token, parse, many) import Web.Routes.Base (decodePathInfo, encodePathInfo) import Web.Routes.Site (Site(..)) @@ -29,6 +44,10 @@ anySegment :: URLParser String anySegment = pToken (const "any string") Just +-- | Only matches if all segments have been consumed+eof :: URLParser ()+eof = notFollowedBy anySegment <?> "end of input"+ -- | apply a function to the remainder of the segments -- -- useful if you want to just do normal pattern matching:@@ -54,7 +73,7 @@ -- returns @Right a@ on success parseSegments :: URLParser a -> [String] -> Either String a parseSegments p segments =- case parse p (show segments) segments of+ case parse (p <* eof) (show segments) segments of (Left e) -> Left (showParseError e) (Right r) -> Right r
Web/Routes/Site.hs view
@@ -1,7 +1,5 @@ module Web.Routes.Site where -import Data.Maybe (isJust, fromJust)-import Data.Monoid (Monoid(mappend)) import Web.Routes.Base (decodePathInfo, encodePathInfo) {-|
web-routes.cabal view
@@ -1,5 +1,5 @@ Name: web-routes-Version: 0.25.2+Version: 0.25.3 License: BSD3 License-File: LICENSE Author: jeremy@seereason.com