Skip to content
Snippets Groups Projects
Commit e580e9f7 authored by Michele Tartara's avatar Michele Tartara
Browse files

Add proper error management to monitoring daemon


Produce a personalized 404 error when the requested resource is not available.

Signed-off-by: default avatarMichele Tartara <mtartara@google.com>
Reviewed-by: default avatarHelga Velroyen <helgav@google.com>
parent 6327828e
No related branches found
No related tags found
No related merge requests found
...@@ -135,7 +135,8 @@ reportHandler = ...@@ -135,7 +135,8 @@ reportHandler =
route route
[ ("all", allReports) [ ("all", allReports)
, (":category/:collector", oneReport) , (":category/:collector", oneReport)
] ] <|>
errorReport
-- | Return the report of all the available collectors. -- | Return the report of all the available collectors.
allReports :: Snap () allReports :: Snap ()
...@@ -154,6 +155,16 @@ catFromName "hypervisor" = BT.Ok $ Just DCHypervisor ...@@ -154,6 +155,16 @@ catFromName "hypervisor" = BT.Ok $ Just DCHypervisor
catFromName "default" = BT.Ok Nothing catFromName "default" = BT.Ok Nothing
catFromName _ = BT.Bad "No such category" 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 -- | Return the report of one collector
oneReport :: Snap () oneReport :: Snap ()
oneReport = do oneReport = do
...@@ -178,7 +189,8 @@ oneReport = do ...@@ -178,7 +189,8 @@ oneReport = do
monitoringApi :: Snap () monitoringApi :: Snap ()
monitoringApi = monitoringApi =
ifTop versionQ <|> ifTop versionQ <|>
dir "1" version1Api dir "1" version1Api <|>
error404
-- | Main function. -- | Main function.
main :: MainFn CheckResult PrepResult main :: MainFn CheckResult PrepResult
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment