- (unless (eq session-id *unspecified*)
- (setq plist (append plist (list :session-id session-id))))
- (unless (eq object-id *unspecified*)
- (setq plist (append plist (list :object-id object-id))))
- (unless (eq lang *unspecified*)
- (setq plist (append plist (list :lang lang))))
- (unless (eq logged *unspecified*)
- (setq plist (append plist (list :logged logged))))
- (unless (eq func *unspecified*)
- (setq plist (append plist (list :func func))))
- (unless (eq subobjects *unspecified*)
- (setq plist (append plist (list :subobjects subobjects))))
- (unless (eq key *unspecified*)
- (setq plist (append plist (list :key key))))
- (unless (eq labels *unspecified*)
- (setq plist (append plist (list :labels labels))))
- (unless (eq english-only *unspecified*)
- (setq plist (append plist (list :english-only english-only))))
- (unless (eq next-page *unspecified*)
- (setq plist (append plist (list :next-page next-page))))
- (unless (eq format *unspecified*)
- (setq plist (append plist (list :format format))))
- (unless (eq caller *unspecified*)
- (setq plist (append plist (list :caller caller))))
- (if (and (null asp)
- (parameters-null session-id object-id lang logged func subobjects
- key labels english-only next-page format caller))
- (concatenate 'string prefix page ".html")
- (concatenate 'string
- prefix
- (if html
- (concatenate 'string page ".lsp")
- +asp-header+)
- (concatenate 'string +plist-header+ (plist-to-url-string plist))))))
-
-(defun parameters-null (&rest params)
- (every #'(lambda (p) (or (null p) (eq p *unspecified*))) params))
+ (concatenate 'string
+ prefix
+ (if (and session
+ (websession-key session)
+ (not (eq :cookies (websession-method session))))
+ (format nil "~~~A~~/" (websession-key session))
+ "")
+ (if (null plist)
+ (concatenate 'string page ".html")
+ (concatenate 'string
+ +asp-header+
+ (concatenate 'string +plist-header+
+ (plist-to-url-string url-plist)))))))