Update server functions

This commit is contained in:
Marcus Kammer 2024-03-16 14:00:59 +01:00
parent cbe97d9949
commit acac870791

View file

@ -1,7 +1,7 @@
#+title: Creating a Questionnaire using dev.metalisp.sbt/component/questionnaire Macros in a Web Application #+title: Creating a Questionnaire using dev.metalisp.sbt/component/questionnaire Macros in a Web Application
#+author: Marcus Kammer #+author: Marcus Kammer
#+email: marcus.kammer@mailbox.org #+email: marcus.kammer@mailbox.org
#+date: [2024-03-16 11:35] #+date: [2024-03-16 14:00]
* Introduction * Introduction
Questionnaires are powerful tools for gathering information and insights from Questionnaires are powerful tools for gathering information and insights from
@ -28,6 +28,13 @@ To create a questionnaire in your Common Lisp web application,
cl-sbt/questionnaire macros can be employed. These macros generate the HTML cl-sbt/questionnaire macros can be employed. These macros generate the HTML
required for different types of questions in a questionnaire. required for different types of questions in a questionnaire.
#+begin_src lisp
(ql:quickload '(:dev.metalisp.sbt :hunchentoot))
#+end_src
#+RESULTS:
| :DEV.METALISP.SBT |
#+begin_src lisp #+begin_src lisp
(defpackage my-web-questionnaire-app (defpackage my-web-questionnaire-app
(:use :cl) (:use :cl)
@ -36,6 +43,9 @@ required for different types of questions in a questionnaire.
(:export :generate-questionnaire-page)) (:export :generate-questionnaire-page))
#+end_src #+end_src
#+RESULTS:
: #<PACKAGE "MY-WEB-QUESTIONNAIRE-APP">
#+name: questionnaire-page #+name: questionnaire-page
#+begin_src lisp :results output file :file-ext html #+begin_src lisp :results output file :file-ext html
(in-package :my-web-questionnaire-app) (in-package :my-web-questionnaire-app)
@ -94,15 +104,21 @@ different types of Bootstrap questionnaires.
#+begin_src lisp #+begin_src lisp
(in-package :my-web-questionnaire-app) (in-package :my-web-questionnaire-app)
(defvar *basic-server* (make-instance 'hunchentoot:easy-acceptor :port 8080)) (defvar *basic-server*)
(defun start-server (server) (defun start-server ()
(hunchentoot:start server)) (setf *basic-server* (make-instance 'hunchentoot:easy-acceptor :name "basic-server" :port 8080))
(hunchentoot:start *basic-server*))
(defun stop-server (server) (defun stop-server (server)
(hunchentoot:stop server)) (when server
(hunchentoot:stop server)
(setf *basic-server* nil)))
(defun restart-server (server) (defun restart-server (server)
(stop-server server) (stop-server server)
(start-server server)) (start-server))
#+end_src #+end_src
#+RESULTS:
: RESTART-SERVER