@@ -64,13 +64,15 @@ class HasServer layout where
6464
6565instance ToJSON result => HasServer (Get result) where
6666 type Server (Get result) = (EitherT (Int, String) IO result)
67− route Proxy action _request = do
68− e <- runEitherT action
69− return $ Just $ case e of
70− Right output ->
71− responseLBS ok200 [("Content-Type", "application/json")] (encode output)
72− Left (status, message) ->
73− responseLBS (mkStatus status (cs message)) [] (cs message)
67+ route Proxy action request
68+ | null (pathInfo request) && requestMethod request == methodGet = do
69+ e <- runEitherT action
70+ return $ Just $ case e of
71+ Right output ->
72+ responseLBS ok200 [("Content-Type", "application/json")] (encode output)
73+ Left (status, message) ->
74+ responseLBS (mkStatus status (cs message)) [] (cs message)
75+ | otherwise = return Nothing
7476
7577instance (KnownSymbol path, HasServer sublayout) => HasServer (path :> sublayout) where
7678 type Server (path :> sublayout) = path :> (Server sublayout)