X-Git-Url: http://git.kpe.io/?p=wol.git;a=blobdiff_plain;f=uri.lisp;fp=uri.lisp;h=1f2e22467d476acc74bef7a907befbeb8a4e6ced;hp=7c38f304226c95c1c43d190cb8aadb25143fff39;hb=0c0d2b88b9c35f1da0f62566768ccc0b6a4c7aa2;hpb=cfaad04360c41c3c930d8da4eeafc848ff46f6aa diff --git a/uri.lisp b/uri.lisp index 7c38f30..1f2e224 100644 --- a/uri.lisp +++ b/uri.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: July 2003 ;;;; -;;;; $Id: uri.lisp,v 1.7 2003/08/09 21:42:24 kevin Exp $ +;;;; $Id: uri.lisp,v 1.8 2003/08/10 05:16:52 kevin Exp $ ;;;; ;;;; This file and Wol are Copyright (c) 2003 by Kevin M. Rosenberg ;;;; ************************************************************************* @@ -15,7 +15,6 @@ (in-package #:wol) (defun req-recode-uri-sans-session-id (req) - (setq cl-user::r req) (let ((ppath (puri:uri-parsed-path (request-uri req)))) (when (is-raw-session-id (second ppath)) (let ((new-path (list* (car ppath) (cddr ppath)))) @@ -32,7 +31,19 @@ when (eq :cookie (car h)) collect (cdr h)))) +(defun header-lines-matching (key headers) + (loop for hdr in headers + when (eq key (car hdr)) + collect (cdr hdr))) + +(defun set-cookies-in-headers (headers) + (header-lines-matching :set-cookie headers)) + +(defun cookies-in-headers (headers) + (header-lines-matching :cookie headers)) + (defun cookie-session-key (ent cookies) + "Return the session key from the alist of cookies" (let ((name (project-name (entity-project ent)))) (cdr (assoc name cookies :test #'string-equal))))