(define (require-authentication routes) (adorn-handlers routes (lambda (continue) (if (authenticated?) (continue) (redirect-to "/login"))))) (define routes (match-routes `(((/ "some" "resource" (submatch (+ num))) (GET ,get-some-resource) (POST ,create-some-resource) ((/ "sub") (GET ,wtf)) ((/ . rest) (GET ,catch-all))) ,@(require-authentication `(((/ "profile") (GET ,get-profile) (PUT ,update-profile)))))))