;;;; CLASH --- The Common Lisp Adaptable Simple HTTP server ;;;; This is copyrighted software. See documentation for terms. ;;;; ;;;; method.cl --- HTTP Request Method registry ;;;; ;;;; Checkout Tag: $Name$ ;;;; $Id$ (in-package :CLASH) ;;;; %File Description: ;;;; ;;;; ;;;; (defconstant +maximum-safe-http-method-length+ 80 "This defines the limit we impose on HTTP method names acceptable to `get-method-symbol', in order to avoid interning huge stuff into the keyword package, and thereby leaking non-negligible amounts of memory.") (defun get-method-symbol (method-string) (when (> (length method-string) +maximum-safe-http-method-length+) (error 'clash-error :code +http-code-bad-request+)) (intern method-string (symbol-package :initarg)))