diff options
author | riton <riton@riton.home> | 2025-07-22 22:30:11 +0300 |
---|---|---|
committer | riton <riton@riton.home> | 2025-07-22 22:30:11 +0300 |
commit | c437fe7dcc5291d9ce4c978da7b6947ec096ecb5 (patch) | |
tree | 08d108fc77b101abe62be2d355fabc86415a9b77 |
proje başlangıcı
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | dağ.asd | 9 | ||||
-rw-r--r-- | src/main.lisp | 20 |
3 files changed, 30 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e4e5f6c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~
\ No newline at end of file @@ -0,0 +1,9 @@ +(defsystem dağ + :author "Emre Akan" + :description "Web frameworkü" + ;; :depends-on () + :pathname "src/" + :components ((:file "main") + ;; (:module "json" + ;; :components (())) + )) diff --git a/src/main.lisp b/src/main.lisp new file mode 100644 index 0000000..ccebc55 --- /dev/null +++ b/src/main.lisp @@ -0,0 +1,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))) |