diff --git a/scheme/httpd/surflets/packages.scm b/scheme/httpd/surflets/packages.scm index 944c2d3..96c098c 100644 --- a/scheme/httpd/surflets/packages.scm +++ b/scheme/httpd/surflets/packages.scm @@ -68,10 +68,14 @@ (define-interface servlet-handler-interface (export servlet-handler)) +(define-interface servlet-handler/plugin-interface + (export send/suspend + send/finish + )) (define-structures ((servlet-handler servlet-handler-interface) - (plugin-utilities plugin-utilities-interface)) + (servlet-handler/plugin servlet-handler/plugin-interface)) (open httpd-responses httpd-request uri ;URI-PATH-LIST->PATH @@ -87,20 +91,34 @@ profiling ;PROFILE-SPACE httpd-logging ;HTTP-SYSLOG shift-reset ;SHIFT and RESET - sxml-to-html ;SXML->HTML conditions ;exception scsh ;regexp et al. scheme ) (files servlet-handler)) + (define-interface plugin-utilities-interface - (export send-html/suspend + (export send/suspend + send/finish + send-html/suspend send-html/finish - )) + form-query + extract-bindings + extract-single-binding)) + +(define-structure plugin-utilities plugin-utilities-interface + (open servlet-handler/plugin + httpd-responses + parse-html-forms + sxml-to-html ;SXML->HTML + srfi-1 ;FILTER + scsh + scheme) + (files utilities)) (define-interface plugin-interface - (export main)) + (export main)) ; MAIN gets one parameter, the REQUEST (define-interface shift-reset-interface (export (reset :syntax)