aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerberdes@gmx.com>2019-05-10 14:01:24 +0200
committerLoic Guegan <manzerberdes@gmx.com>2019-05-10 14:01:24 +0200
commitea2de68b471d335f8970e0fdd06ac04579fabbdd (patch)
tree72f512e1f40bf9b823aa9cba98746595d6c05f72
parent05aee16e2478582efc35f0d834bb2ded5aada062 (diff)
Add simple error handling
-rw-r--r--server/api/api.lisp19
1 files changed, 13 insertions, 6 deletions
diff --git a/server/api/api.lisp b/server/api/api.lisp
index d41921e..af5fe13 100644
--- a/server/api/api.lisp
+++ b/server/api/api.lisp
@@ -56,12 +56,19 @@
(defmethod handle-request ((api api) request)
- (let* ((data (parse-request request))
- (type (getf data :type)))
- (cond
- ((equal type "new-game") (handle-new-game api data))
- ((equal type "update") (handle-update api data))
- (t (format t "Unknow type")))))
+ (flet ((handle-fun ()
+ (let* ((data (parse-request request))
+ (type (getf data :type)))
+ (cond
+ ((equal type "new-game") (handle-new-game api data))
+ ((equal type "update") (handle-update api data))
+ (t (format t "Unknow type"))))))
+
+ (handler-case
+ (handle-fun)
+ (t (c)
+ (format t "Got an exception: ~a~%" c)
+ "Bad request"))))