route
[ ("all", allReports)
, (":category/:collector", oneReport)
- ]
+ ] <|>
+ errorReport
-- | Return the report of all the available collectors.
allReports :: Snap ()
catFromName "default" = BT.Ok Nothing
catFromName _ = BT.Bad "No such category"
+errorReport :: Snap ()
+errorReport = do
+ modifyResponse $ setResponseStatus 404 "Not found"
+ writeBS "Unable to produce a report for the requested resource"
+
+error404 :: Snap ()
+error404 = do
+ modifyResponse $ setResponseStatus 404 "Not found"
+ writeBS "Resource not found"
+
-- | Return the report of one collector
oneReport :: Snap ()
oneReport = do
monitoringApi :: Snap ()
monitoringApi =
ifTop versionQ <|>
- dir "1" version1Api
+ dir "1" version1Api <|>
+ error404
-- | Main function.
main :: MainFn CheckResult PrepResult