From fe70289bc629eaefa8b74fef8988c6c94251b537 Mon Sep 17 00:00:00 2001 From: interp Date: Thu, 13 Mar 2003 11:52:37 +0000 Subject: [PATCH] Factor out SESSION-DATA and make it available in SURFLETS --- scheme/httpd/surflets/packages.scm | 50 +++++++++++-------- .../root/surflets/admin-profiling.scm | 1 - 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/scheme/httpd/surflets/packages.scm b/scheme/httpd/surflets/packages.scm index 54c6464..dbe1544 100644 --- a/scheme/httpd/surflets/packages.scm +++ b/scheme/httpd/surflets/packages.scm @@ -95,6 +95,10 @@ my-ids instance-session-id)) +(define-interface surflets/session-data-interface + (export get-session-data + set-session-data!)) + ;; Use for advanced users: access to your sessions and continuations ;; and continuations (currently you get access to all sessions; this ;; should and will be restricted in the future) @@ -102,12 +106,11 @@ (compound-interface surflets/ids-interface surflets/continuations-interface + surflets/session-data-interface (export get-session ;; That would be too much: ;; get-sessions delete-session! - get-session-data - set-session-data! instance-session-id session-adjust-timeout! adjust-timeout! @@ -117,21 +120,21 @@ options-cache-surflets?))) (define-interface surflets/sessions-interface - (export get-session - get-sessions - delete-session! - get-session-data - set-session-data! - instance-session-id - session-adjust-timeout! - adjust-timeout! - session-alive? - session-surflet-name - ;; FIXME: This is too much and should be restricted: - session-memo - session-continuation-table - session-continuation-table-lock - session-continuation-counter)) + (compound-interface + surflets/session-data-interface + (export get-session + get-sessions + delete-session! + instance-session-id + session-adjust-timeout! + adjust-timeout! + session-alive? + session-surflet-name + ;; FIXME: This is too much and should be restricted: + session-memo + session-continuation-table + session-continuation-table-lock + session-continuation-counter))) (define-interface surflet-handler/surflets-interface (export get-loaded-surflets @@ -338,7 +341,8 @@ surflets/input-fields-interface surflets/addresses-interface surflets/returned-via-interface - surflets/bindings-interface)) + surflets/bindings-interface + surflets/session-data-interface)) ;;; Structures ;; structures from SUrflet Handler @@ -352,7 +356,8 @@ (surflet-handler/responses surflet-handler/responses-interface) (surflets/sessions surflets/sessions-interface) (surflets/continuations surflets/continuations-interface) - (surflets/error surflets/error-interface)) + (surflets/error surflets/error-interface) + (surflets/session-data surflets/session-data-interface)) (open define-record-types ;DEFINE-RECORD-TYPE handle-fatal ;WITH-FATAL-ERROR-HANDLER* et al. handle-fatal-error @@ -382,9 +387,10 @@ ;; SUrflets library of helping functions (define-structure surflets surflets-interface - (open surflets/send-html + (open surflets/session-data + surflets/send-html ;send-html/suspend... surflets/input-fields - surflets/addresses + surflets/addresses ;annotated-address... surflets/returned-via surflets/bindings)) @@ -442,7 +448,7 @@ ;;; We have two names for the same thing to ease the use of structure ;;; names: requests seem to be part of the surflet-handler, but are ;;; actually seperate files. If you know everything about SUrflets, -;;; you use `surlfet-requests'. +;;; you use `surflet-requests'. (define-structures ((surflet-handler/requests surflet-handler/requests-interface) (surflet-requests surflet-handler/requests-interface)) diff --git a/scheme/httpd/surflets/web-server/root/surflets/admin-profiling.scm b/scheme/httpd/surflets/web-server/root/surflets/admin-profiling.scm index 0563f23..aaee5a1 100644 --- a/scheme/httpd/surflets/web-server/root/surflets/admin-profiling.scm +++ b/scheme/httpd/surflets/web-server/root/surflets/admin-profiling.scm @@ -1,7 +1,6 @@ (define-structure surflet surflet-interface (open scheme-with-scsh surflets - surflets/sessions surflets/error profiling handle-fatal-error