Factor out SURFLET-RESPONSE object
This commit is contained in:
parent
592baf7c6a
commit
39f7addaf9
|
@ -17,6 +17,7 @@
|
|||
;; Responses from SUrflets
|
||||
(define-interface surflet-handler/responses-interface
|
||||
(export make-surflet-response
|
||||
valid-surflet-response-data?
|
||||
surflet-response?
|
||||
surflet-response-status
|
||||
surflet-response-content-type
|
||||
|
@ -423,7 +424,6 @@
|
|||
(surflet-handler/resume-url surflet-handler/resume-url-interface)
|
||||
(surflet-handler/admin surflet-handler/admin-interface)
|
||||
(surflet-handler/primitives surflet-handler/primitives-interface)
|
||||
(surflet-handler/responses surflet-handler/responses-interface)
|
||||
(surflets/sessions surflets/sessions-interface)
|
||||
(surflets/continuations surflets/continuations-interface)
|
||||
(surflets/error surflets/error-interface)
|
||||
|
@ -447,6 +447,7 @@
|
|||
srfi-14 ;CHAR-SET:DIGIT
|
||||
srfi-27 ;random numbers
|
||||
surflet-requests ;requests for surflets
|
||||
surflet-responses ;responses from surflets
|
||||
sxml-to-html ;SXML->HTML
|
||||
tables ;HASH-TABLES
|
||||
thread-cells ;THREAD-CELL et al.
|
||||
|
@ -542,6 +543,14 @@
|
|||
httpd-requests)
|
||||
(files surflet-request))
|
||||
|
||||
(define-structures
|
||||
((surflet-handler/responses surflet-handler/responses-interface)
|
||||
(surflet-responses surflet-handler/responses-interface))
|
||||
(open scheme-with-scsh
|
||||
define-record-types)
|
||||
(files surflet-response))
|
||||
|
||||
|
||||
;; With the help of TYPED-OPTIONALS you can define a function
|
||||
;; like (make-submit-button [string] args)
|
||||
(define-structure typed-optionals typed-optionals-interface
|
||||
|
|
|
@ -725,37 +725,6 @@
|
|||
(define set-options-make-session-timeout-text
|
||||
(make-fluid-setter set-surflet-options-make-session-timeout-text!))
|
||||
|
||||
;;; SURFLET-RESPONSE: Surflets are expected to return this object type.
|
||||
;;; STATUS is the status code, an exact integer. See httpd/response.scm
|
||||
;;; e.g. (status-code ok)
|
||||
;;; CONTENT-TYPE is a string, most probably "text/html".
|
||||
;;; HEADERS is a (maybe empty) list of pairs of (string or symbol);
|
||||
;;; Additional headers to send, e.g. '(("Cache-Control" . "no-cache")) or
|
||||
;;; '((Cache-Control . "no-cache")) etc.
|
||||
;;; DATA is either
|
||||
;;; * a string
|
||||
;;; * a list of strings
|
||||
;;; This list maybe extended to vectors later.
|
||||
(define-record-type surflet-response :surflet-response
|
||||
(make-surflet-response status content-type headers data)
|
||||
surflet-response?
|
||||
(status surflet-response-status)
|
||||
(content-type surflet-response-content-type)
|
||||
(headers surflet-response-headers)
|
||||
(data surflet-response-data))
|
||||
|
||||
;; Allowed type for the data field.
|
||||
(define (valid-surflet-response-data? data)
|
||||
(or (string? data) (list? data)))
|
||||
|
||||
;; For debug purposes
|
||||
(define (surflet-response->string surflet-response)
|
||||
(format #f "#{SUrflet-response Status: ~a Content-Type: ~s Headers: ~s~%~s~%"
|
||||
(surflet-response-status surflet-response)
|
||||
(surflet-response-content-type surflet-response)
|
||||
(surflet-response-headers surflet-response)
|
||||
(surflet-response-data surflet-response)))
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; RANDOM SOURCE
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
;;; SURFLET-RESPONSE: Surflets are expected to return this object type.
|
||||
;;; STATUS is the status code, an exact integer. See httpd/response.scm
|
||||
;;; e.g. (status-code ok)
|
||||
;;; CONTENT-TYPE is a string, most probably "text/html".
|
||||
;;; HEADERS is a (maybe empty) list of pairs of (string or symbol);
|
||||
;;; Additional headers to send, e.g. '(("Cache-Control" . "no-cache")) or
|
||||
;;; '((Cache-Control . "no-cache")) etc.
|
||||
;;; DATA is either
|
||||
;;; * a string
|
||||
;;; * a list of strings
|
||||
;;; This list maybe extended to vectors later.
|
||||
(define-record-type surflet-response :surflet-response
|
||||
(make-surflet-response status content-type headers data)
|
||||
surflet-response?
|
||||
(status surflet-response-status)
|
||||
(content-type surflet-response-content-type)
|
||||
(headers surflet-response-headers)
|
||||
(data surflet-response-data))
|
||||
|
||||
;; Allowed type for the data field.
|
||||
(define (valid-surflet-response-data? data)
|
||||
(or (string? data) (list? data)))
|
||||
|
||||
;; For debug purposes
|
||||
(define (surflet-response->string surflet-response)
|
||||
(format #f "#{SUrflet-response Status: ~a Content-Type: ~s Headers: ~s~%~s~%"
|
||||
(surflet-response-status surflet-response)
|
||||
(surflet-response-content-type surflet-response)
|
||||
(surflet-response-headers surflet-response)
|
||||
(surflet-response-data surflet-response)))
|
||||
|
Loading…
Reference in New Issue