This is a read-only archive of lispforum.com. The forum was locked to new users and posts and is preserved here as static HTML from a database snapshot taken on 2019-09-07.

WS and static content in hunchentoot

1 post · 2747 views

Is it possible to serve both static content and websockets?
(defpackage :hello
  (:use :common-lisp :websocket-driver :clack)
  (:export :start :halt))

(in-package :hello)

; (ql:quickload '(:websocket-driver :clack :cl-json))

(defvar *handler*)

(defvar *echo-server*
  (lambda (env)
    (let ((ws (make-server env)))
      (on :message ws
          (lambda (message)
            (send ws message)))
      (lambda (responder)
        (declare (ignore responder))
        (start-connection ws)))))


(defun start ()
  (setq *handler*
	(clack:clackup *echo-server* :server :hunchentoot :port 8077)))

(defun halt ()
  (clack:stop *handler*))