Change from MK-DEFSYSTEM to ASDF, rename .cl to .lisp files.
This commit is contained in:
57
src/main/http-io.lisp
Normal file
57
src/main/http-io.lisp
Normal file
@ -0,0 +1,57 @@
|
||||
;;;; CLASH --- The Common Lisp Adaptable Simple HTTP server
|
||||
;;;; This is copyrighted software. See documentation for terms.
|
||||
;;;;
|
||||
;;;; http-io.cl --- HTTP conforming input and output routines and codecs
|
||||
;;;;
|
||||
;;;; Checkout Tag: $Name$
|
||||
;;;; $Id$
|
||||
|
||||
(in-package :CLASH)
|
||||
|
||||
;;;; %File Description:
|
||||
;;;;
|
||||
;;;;
|
||||
;;;;
|
||||
|
||||
(defun read-http-line (stream)
|
||||
(declare (optimize (speed 3) (safety 0) (debug 0))
|
||||
(type stream stream))
|
||||
(let ((string (make-array 80 :element-type 'character :fill-pointer 0
|
||||
:adjustable t)))
|
||||
(declare (type string string))
|
||||
(do ((char (read-char stream) (read-char stream)))
|
||||
((char= char #\Newline) (coerce string 'simple-string))
|
||||
(declare (type character char))
|
||||
(unless (char= char #\Return)
|
||||
(vector-push-extend char string)))))
|
||||
|
||||
#+NIL
|
||||
(defun read-http-line (stream)
|
||||
(declare (optimize (speed 3) (safety 0) (debug 0))
|
||||
(type stream stream))
|
||||
(with-output-to-string (out)
|
||||
(do ((char (read-char stream) (read-char stream)))
|
||||
((char= char #\Newline))
|
||||
(declare (character char))
|
||||
(unless (char= char #\Return)
|
||||
(write-char char out)))))
|
||||
|
||||
#+NIL
|
||||
(defun read-http-line (stream)
|
||||
(let ((in-line (read-line stream nil nil)))
|
||||
(if in-line
|
||||
(string-right-trim '(#\Return) in-line)
|
||||
in-line)))
|
||||
|
||||
(declaim (inline http-terpri))
|
||||
(defun http-terpri (stream)
|
||||
(write-char #\Return stream)
|
||||
(write-char #\Newline stream))
|
||||
|
||||
(defun write-http-line (string stream)
|
||||
(write-string string stream)
|
||||
(http-terpri stream))
|
||||
|
||||
(declaim (inline write-http-element-list-1))
|
||||
(defun write-http-element-list-1 (list stream)
|
||||
(format stream "~{~A~^, ~:}" list))
|
||||
Reference in New Issue
Block a user