Debug serveré

This commit is contained in:
Loic Guegan 2019-05-11 15:27:04 +02:00
parent 39cf5947d8
commit 59f42680ef
4 changed files with 9 additions and 10 deletions

View file

@ -38,8 +38,6 @@
p-request)))
(defmethod handle-new-game ((api api) data)
(with-slots (gm) api
(let* ((game-id (create-game gm)))
@ -80,7 +78,9 @@
:element-type 'character
:adjustable t
:fill-pointer 0)))
(format reason "~a~%" condition :escape nil)
(if (typep condition 'jonathan.error:<jonathan-error>)
(format reason "{\"type\":\"error\",\"message\":\"Failed to parse JSON\"}~%" condition :escape nil)
(format reason "{\"type\":\"error\",\"message\":\"~a\"}~%" condition :escape nil))
reason))))

View file

@ -16,6 +16,6 @@
(defpackage :remote-snake-server
(:nicknames :rss)
(:use :common-lisp :usocket :remote-snake-server-api)
(:use :common-lisp :usocket :remote-snake-server-api :cl-strings)
(:export
#:start))

View file

@ -3,7 +3,7 @@
:description "Remote Snake Server."
:version "0.0.1"
:author "Loic Guegan"
:depends-on ( "usocket" "jonathan")
:depends-on ( "usocket" "jonathan" "cl-strings" )
:components ((:file "packages")
(:module "game"
:depends-on ("packages")

View file

@ -9,11 +9,10 @@
(defun handle-client (client-socket)
(unwind-protect ; To be sure to close the client socket
(let ((data (read-line (usocket:socket-stream client-socket)))
(request ""))
(loop while (not (equalp data "#EOF")) do
(setf request (concatenate 'string request data))
(setf data (read-line (usocket:socket-stream client-socket) nil nil)))
(let* ((request (read-line (usocket:socket-stream client-socket))))
(loop while (eq (search "#EOF" request) nil) do
(setf request (concatenate 'string request (read-line (usocket:socket-stream client-socket) nil nil))))
(setf request (cl-strings:replace-all request "#EOF" ""))
(format (usocket:socket-stream client-socket) (handle-request *server-api* request))
(force-output (usocket:socket-stream client-socket)))
(usocket:socket-close client-socket)))