X-Git-Url: http://git.kpe.io/?p=wol.git;a=blobdiff_plain;f=classes.lisp;h=794cc5792a0df70c580e748fc9e0420f25743f94;hp=70f01b33592981b0c4719ce95d0c52dd01f31404;hb=HEAD;hpb=155f1c55e5b3cfb5efc0fa3a87aca4843b418415 diff --git a/classes.lisp b/classes.lisp index 70f01b3..794cc57 100644 --- a/classes.lisp +++ b/classes.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: July 2003 ;;;; -;;;; $Id: classes.lisp,v 1.2 2003/07/16 16:40:35 kevin Exp $ +;;;; $Id$ ;;;; ;;;; This file and Wol are Copyright (c) 2001-2003 by Kevin M. Rosenberg ;;;; ************************************************************************* @@ -21,67 +21,88 @@ (counter :initform 0 :accessor counter) (prefix :initform "/" :accessor prefix) (sessions :initform nil :accessor sessions))) - + (defclass websession () ((key :initarg :key :accessor websession-key) (lastref :initarg :lastref :accessor websession-lastref) (lifetime :initarg :lifetime :initform nil - :accessor websession-lifetime) + :accessor websession-lifetime) (data :initform nil :accessor websession-data) - (method :initarg :method :accessor websession-method) + (method :initarg :method :accessor websession-method :initform nil) (variables :initform (make-hash-table :test 'equal) - :accessor websession-variables))) - + :accessor websession-variables))) + (defclass wol-project () ((name :initarg :name :initform "" :type string :accessor project-name) (project-prefix :initarg :project-prefix :type string - :initform "/" :accessor project-prefix) + :initform "/" :accessor project-prefix) (map :initarg :map :initform nil :type list :accessor project-map) (hash :initarg :hash :initform nil :accessor project-hash-map) - (index :initarg :index :initform "index" :type string - :accessor project-index) + (index :initarg :index :initform "index" :type string + :accessor project-index) (server :initarg :server :initform nil :accessor project-server) (session-master :initform (make-instance 'session-master) - :accessor session-master))) + :accessor session-master) + (connector :initarg :connector :accessor project-connector))) (defclass entity () - ((project :initarg :project :accessor entity-project)) - ) + ((project :initarg :project :accessor entity-project) + (generators :initarg :generators :accessor entity-generators + :documentation "List of waiting page generators") + (aserve-entity :initarg :aserve-entity :initform nil + :accessor entity-aserve-entity))) + (defclass http-request () ((method :initarg :method :accessor request-method) (uri :initarg :uri :accessor request-uri) + (decoded-uri-path :initarg :decoded-uri-path + :accessor request-decoded-uri-path) + (raw-request :initarg :raw-request :accessor request-raw-request) (raw-uri :initarg :raw-uri :accessor request-raw-uri) (protocol :initarg :protocol :reader request-protocol) (protocol-string :initarg :protocol-string :reader request-protocol-string) (socket :initarg :socket :reader request-socket) (ml-server :initarg :ml-server :reader request-ml-server) - (vhost :initarg :vhost :accessor request-vhost) + (aserve-server :initarg :aserve-server :reader request-aserve-server) + (host :initarg :host :accessor request-host) + (desired-query :initform nil :accessor request-desired-query + :documentation "type of query alist requested") (posted-content :initarg :posted-content :accessor request-posted-content) (headers :initarg :headers :accessor request-headers) - (project :initarg :project :accessor project) (page :initarg :page :initform nil :accessor request-page) + (url-plist :initarg :url-plist :initform nil :accessor request-url-plist) (plist :initarg :plist :initform nil :accessor request-plist) - (next-plists :initarg :next-plists :initform nil - :accessor request-next-plists) - (uri-query :initarg :uri-query :initform nil - :accessor request-uri-query) - (query-alist :initarg :query-alist :initform nil - :accessor request-query-alist) + (url-next-plists :initarg :url-next-plists :initform nil + :accessor request-url-next-plists) + (uri-query :initarg :uri-query :initform nil + :accessor request-uri-query) + (query-alist :initarg :query-alist :initform nil + :accessor request-query-alist) (session :initarg :session :initform nil - :accessor websession-from-req) + :accessor websession-from-req) + (aserve-request :initarg :aserve-request :initform nil + :accessor aserve-request) )) (defvar *reap-interval* 300) -(defvar *reaper-process* nil) +(defvar *reaper-process* nil) (defvar *active-projects* (make-hash-table :test 'equal)) -(defvar +asp-header+ "lsp") -(defvar +full-asp-header+ "/lsp") +(eval-when (:compile-toplevel :load-toplevel :execute) + (defvar +plist-header+ "sdata" + "string that starts an encoded plist")) + +(defconstant +plist-header-length+ (length +plist-header+)) + +(defparameter *wol-version* '(0 1 0)) + +(defvar *wol-stream* nil + "The output stream for the current request") -(defvar +plist-header+ "/sdata" - "string that starts an encoded plist") +(defconstant +length-session-id+ 24) -(defvar *wol-version* "0.1.0") +(defvar *req* nil "Current request") +(defvar *ent* nil "Current entity")