servlet uri query parsing should handle + as space

This commit is contained in:
Alex Shinn 2015-07-06 23:26:00 +09:00
parent bc262aa7ad
commit 2ee9b3098d

View file

@ -91,7 +91,7 @@
(uri (string->path-uri 'http uri))) (uri (string->path-uri 'http uri)))
(request-uri-set! request2 uri) (request-uri-set! request2 uri)
;; NOTE: this looses form parameters ;; NOTE: this looses form parameters
(request-params-set! request2 (uri-query->alist (or (uri-query uri) ""))) (request-params-set! request2 (uri-query->alist (or (uri-query uri) "") #t))
request2)) request2))
(define (request-param request name . o) (define (request-param request name . o)
@ -118,7 +118,7 @@
(let* ((uri (string->path-uri 'http path)) (let* ((uri (string->path-uri 'http path))
(headers (mime-headers->list in)) (headers (mime-headers->list in))
(host (get-host uri headers)) (host (get-host uri headers))
(params (uri-query->alist (or (uri-query uri) "")))) (params (uri-query->alist (or (uri-query uri) "") #t)))
(%make-request method host uri version headers #f params '() (%make-request method host uri version headers #f params '()
in out sock addr #f))) in out sock addr #f)))
@ -126,7 +126,7 @@
(let* ((method (or (get-environment-variable "REQUEST_METHOD") "GET")) (let* ((method (or (get-environment-variable "REQUEST_METHOD") "GET"))
(uri (string->path-uri (uri (string->path-uri
'http (or (get-environment-variable "REQUEST_URI") ""))) 'http (or (get-environment-variable "REQUEST_URI") "")))
(params (uri-query->alist (or (uri-query uri) ""))) (params (uri-query->alist (or (uri-query uri) "") #t))
(headers `((host . ,(or (get-environment-variable "HTTP_HOST") (headers `((host . ,(or (get-environment-variable "HTTP_HOST")
"")))) ""))))
(host (get-host uri headers)) (host (get-host uri headers))
@ -239,7 +239,7 @@
(if (not (eof-object? line)) (if (not (eof-object? line))
(request-params-set! request (request-params-set! request
(append (request-params request) (append (request-params request)
(uri-query->alist line))))))))) (uri-query->alist line #t)))))))))
(define (make-status-servlet status msg . o) (define (make-status-servlet status msg . o)
(lambda (cfg request next restart) (lambda (cfg request next restart)