@@ -24,6 +24,8 @@ import Data.Text.Read (signed, decimal, rational, Reader)
2424import qualified Data.Text as Text
2525import qualified Data.Text.Lazy as TL
2626
27+import Data.Time (Day)
28+
2729import Text.Read (readMaybe)
2830
2931-- | Convert value to HTTP API data.
@@ -94,6 +96,7 @@ instance ToHttpApiData Word64 where toUrlPiece = showUrlPiece
9496instance ToHttpApiData [Char] where toUrlPiece = Text.pack
9597instance ToHttpApiData Text where toUrlPiece = id
9698instance ToHttpApiData TL.Text where toUrlPiece = TL.toStrict
99+instance ToHttpApiData Day where toUrlPiece = showUrlPiece
97100
98101instance FromHttpApiData Bool where parseUrlPiece = readEitherUrlPiece
99102instance FromHttpApiData Double where parseUrlPiece = runReader rational
@@ -112,4 +115,4 @@ instance FromHttpApiData Word64 where parseUrlPiece = runReader decimal
112115instance FromHttpApiData [Char] where parseUrlPiece = Right . Text.unpack
113116instance FromHttpApiData Text where parseUrlPiece = Right
114117instance FromHttpApiData TL.Text where parseUrlPiece = Right . TL.fromStrict
115−
118+instance FromHttpApiData Day where parseUrlPiece = readEitherUrlPiece