[Racket] Ferti hydroponic nutrient solver, redux.
Factor out response preamble.
handlers.rkt
@@ -56,23 +56,25 @@
56
56
[("") #:method "get" index]
57
57
[else fallback]))
58
58
59
Added:
(define (render-page xexpr)
60
Added:
(response/xexpr #:preamble #"<!DOCTYPE html>" xexpr))
61
Added:
59
62
(define (ferti _)
60
63
(define ferti-recipe (find-ferti-recipe))
61
64
(define latest-measurement-hash (get-latest-nutrient-measurement-hash))
62
65
(define latest-target-hash (get-latest-nutrient-target-hash))
63
66
(define latest-measurements (take (get-nutrient-measurements) 10))
64
Removed:
(response/xexpr
65
Removed:
#:preamble #"<!DOCTYPE html>"
67
Added:
(render-page
66
68
(ferti-page ferti-recipe latest-measurement-hash latest-target-hash latest-measurements)))
67
69
68
70
(define (index _)
69
71
(define user (get-current-user))
70
Removed:
(response/xexpr #:preamble #"<!DOCTYPE html>" (index-page user)))
72
Added:
(render-page (index-page user)))
71
73
72
74
;; Nutrient measurements
73
75
74
76
(define (new-measurement _)
75
Removed:
(response/xexpr #:preamble #"<!DOCTYPE html>" (new-measurement-page)))
77
Added:
(render-page (new-measurement-page)))
76
78
77
79
(define (create-measurement req)
78
80
(define-values (measured-on nutrient-values) (formlet-process (measurements-formlet) req))
@@ -86,7 +88,7 @@
86
88
;; Nutrient targets
87
89
88
90
(define (new-target _)
89
Removed:
(response/xexpr #:preamble #"<!DOCTYPE html>" (new-target-page)))
91
Added:
(render-page (new-target-page)))
90
92
91
93
(define (create-target req)
92
94
(define-values (effective-on nutrient-values) (formlet-process (targets-formlet) req))
@@ -96,7 +98,7 @@
96
98
;; Fertilizer products
97
99
98
100
(define (new-fertilizer _)
99
Removed:
(response/xexpr #:preamble #"<!DOCTYPE html>" (new-fertilizer-page)))
101
Added:
(render-page (new-fertilizer-page)))
100
102
101
103
(define (create-fertilizer req)
102
104
(define-values (canonical-name brand-name nutrient-values)
@@ -107,4 +109,4 @@
107
109
;; Fallback
108
110
109
111
(define (fallback _)
110
Removed:
(response/xexpr #:preamble #"<!DOCTYPE html>" (fallback-page 404)))
112
Added:
(render-page (fallback-page 404)))