blob: ccebc55c1c77786abe277dc69462fd411a5ecb50 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
(defun make-server ()
(let ((socket (make-instance 'sb-bsd-sockets:inet-socket
:type :stream :protocol :tcp)))
(sb-bsd-sockets:socket-bind socket #(127 0 0 1) 8080)
(sb-bsd-sockets:socket-listen socket 5)
socket))
(defparameter *endl* (format nil "~c~c" #\Return #\Newline))
(defparameter *message*
(format nil "~{~A~}" (list "HTTP/1.1 200 Ok" *endl*
(format nil "Content-Length: ~a" (length "hello there"))
*endl* *endl*
"hello there" *endl*)))
(defun handler (server)
(let ((socket (sb-bsd-sockets:socket-accept server))
(buf (make-array 1028 :element-type 'character)))
(sb-bsd-sockets:socket-receive socket buf nil)
(write-sequence buf *standard-output*)
(sb-bsd-sockets:socket-send socket *message* nil)))
|