From ea86a2def0f9413030522cdbb1323022f94742cc Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sun, 30 Jun 2024 10:00:05 +0200 Subject: [PATCH] clarify message creation: make-message with data as &key parameter --- core/message.lisp | 7 +++++-- test/test-core.lisp | 4 ++-- test/test-web.lisp | 4 ++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/core/message.lisp b/core/message.lisp index 6f7e11a..b59972a 100644 --- a/core/message.lisp +++ b/core/message.lisp @@ -2,7 +2,7 @@ (defpackage :scopes/core/message (:use :common-lisp) - (:export #:message #:simple-message + (:export #:message #:make-message #:simple-message #:head #:data #:head-as-list)) (in-package :scopes/core/message) @@ -23,12 +23,15 @@ (timestamp) (data :accessor data :initarg :data :initform nil))) -(defun simple-message (head-vals &optional data) +(defun make-message (head-vals &key data) (let ((h (make-instance 'message-head))) (dolist (sl '(domain action class item)) (setf (slot-value h sl) (pop head-vals))) (make-instance 'message :head h :data data))) +(defun simple-message (&rest head-vals) + (make-message head-vals)) + (defmethod print-object ((msg message) stream) (with-slots (domain action class item) (head msg) (format stream diff --git a/test/test-core.lisp b/test/test-core.lisp index 4978a71..84df833 100644 --- a/test/test-core.lisp +++ b/test/test-core.lisp @@ -61,8 +61,8 @@ (deftest test-send () (let ((rcvr (receiver t:*test-suite*)) - (msg (message:simple-message '(:test :dummy) "dummy payload")) - (msg-exp (message:simple-message '(:test :dummy) "dummy payload"))) + (msg (message:make-message '(:test :dummy) :data "dummy payload")) + (msg-exp (message:make-message '(:test :dummy) :data "dummy payload"))) (expect rcvr msg-exp) (== (core:name rcvr) :test-receiver) (core:send rcvr msg) diff --git a/test/test-web.lisp b/test/test-web.lisp index ce21fb7..5697a0c 100644 --- a/test/test-web.lisp +++ b/test/test-web.lisp @@ -33,10 +33,10 @@ (== (parse-integer (server:port (core:config server))) 8899)) (deftest test-fileserver (client) - (let ((msg (message:simple-message '(:test :get-page) '(:path "demo.html")))) + (let ((msg (message:make-message '(:test :get-page) :data '(:path "demo.html")))) (== (client:base-url (core:config client)) "http://localhost:8899") (has-prefix (client:get-page client msg) "Hello Fileserver!"))) (deftest test-message (client) - (let ((msg (message:simple-message '(:test :data) '(:info "test data")))) + (let ((msg (message:make-message '(:test :data) :data '(:info "test data")))) (== (client:send-message client msg) "Hello World!")))