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 =
route
[ ("all", allReports)
, (":category/:collector", oneReport)
]
] <|>
errorReport
-- | Return the report of all the available collectors.
allReports :: Snap ()
......@@ -154,6 +155,16 @@ catFromName "hypervisor" = BT.Ok $ Just DCHypervisor
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
......@@ -178,7 +189,8 @@ oneReport = do
monitoringApi :: Snap ()
monitoringApi =
ifTop versionQ <|>
dir "1" version1Api
dir "1" version1Api <|>
error404
-- | Main function.
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