module Happstack.Authenticate.OpenId.PartialsURL where
import Data.Data (Data, Typeable)
import Control.Category ((.), id)
import GHC.Generics (Generic)
import Prelude hiding ((.), id)
import Text.Boomerang.TH (makeBoomerangs)
import Web.Routes (PathInfo(..))
import Web.Routes.Boomerang (Router, (:-), (<>), boomerangFromPathSegments, boomerangToPathSegments)
data PartialURL
= UsingGoogle
| UsingYahoo
| RealmForm
deriving (Eq, Ord, Data, Typeable, Generic, Read, Show)
makeBoomerangs ''PartialURL
partialURL :: Router () (PartialURL :- ())
partialURL =
( "using-google" . rUsingGoogle
<> "using-yahoo" . rUsingYahoo
<> "realm" . rRealmForm
)
instance PathInfo PartialURL where
fromPathSegments = boomerangFromPathSegments partialURL
toPathSegments = boomerangToPathSegments partialURL