Changeset 26873 in project


Ignore:
Timestamp:
06/11/12 19:38:35 (9 years ago)
Author:
sjamaan
Message:

Spiffy: Do not cache request uri in default 'process-entry' handler (thanks to Mario for pointing out this problem); add test

Location:
release/4/spiffy/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/spiffy/trunk/spiffy.scm

    r26872 r26873  
    470470             (with-output-to-string print-call-chain))
    471471            #f)                         ; Do not keep going
    472           (let* ((req-uri (request-uri (current-request)))
    473                  (host (uri-host req-uri)))
     472          (let ((host (uri-host (request-uri (current-request)))))
    474473            (if (and host (uri-path-absolute? (request-uri (current-request))))
    475474                (let ((handler
     
    479478                  (if handler
    480479                      (handler (lambda ()
    481                                  (process-entry "" "" (cdr (uri-path req-uri)))))
     480                                 (process-entry
     481                                  "" "" (cdr (uri-path (request-uri
     482                                                        (current-request)))))))
    482483                      ;; Is this ok?
    483                       ((handle-not-found) (uri-path req-uri))))
     484                      ((handle-not-found) (uri-path (request-uri (current-request))))))
    484485                ;; No host or non-absolute URI in the request is an error.
    485486                (send-status 'bad-request
  • release/4/spiffy/trunk/tests/run.scm

    r26869 r26873  
    2424     (vhost-map
    2525      `(("foohost" . , (lambda (continue)
    26                          (continue)))
     26                         (parameterize ((current-request
     27                                         (update-request
     28                                          (current-request)
     29                                          uri: (update-uri
     30                                                (request-uri (current-request))
     31                                                path: '(/ "hello.txt")))))
     32                          (continue))))
    2733        (,(irregex "testhost.*") . ,(lambda (continue)
    28                                      (continue)))
     34                                      (continue)))
    2935        ("redirect-host" . ,(lambda (continue)
    3036                              (with-headers
     
    5460(test-response "String case insensitivity" (200 hello.txt)
    5561               "/hello.txt" "FOOHOST")
     62(test-response "URI override works" (200 hello.txt) "/index.html" "foohost")
    5663(test-response "Regexp match" (200 hello.txt) "/hello.txt" "testhost")
    5764(test-response "Regexp case sensitivity" (404 NOT-FOUND) "/hello.txt" "TESTHOST")
Note: See TracChangeset for help on using the changeset viewer.