diff --git a/module/web/http.scm b/module/web/http.scm index f2f086632..7bad3af86 100644 --- a/module/web/http.scm +++ b/module/web/http.scm @@ -628,7 +628,7 @@ ordered alist." (display (date->string date "~a, ~d ~b ~Y ~H:~M:~S GMT") port)) (define (write-uri uri port) - (display (unparse-uri uri) port)) + (display (uri->string uri) port)) (define (parse-entity-tag val) (if (string-prefix? "W/" val) @@ -751,7 +751,7 @@ not have to have a scheme or host name. The result is a URI object." #:query (and q (substring str (1+ q) (or f end))) #:fragment (and f (substring str (1+ f) end))))) (else - (or (parse-uri (substring str start end)) + (or (string->uri (substring str start end)) (bad-request "Invalid URI: ~a" (substring str start end)))))) (define (read-request-line port) @@ -890,7 +890,7 @@ phrase\"." ((_ sym name) (declare-header sym name - (lambda (str) (or (parse-uri str) (bad-header-component 'uri str))) + (lambda (str) (or (string->uri str) (bad-header-component 'uri str))) uri? write-uri)))) diff --git a/module/web/uri.scm b/module/web/uri.scm index a7c4f2eb8..4d416a017 100644 --- a/module/web/uri.scm +++ b/module/web/uri.scm @@ -37,7 +37,7 @@ build-uri declare-default-port! - parse-uri unparse-uri + string->uri uri->string uri-decode uri-encode split-and-decode-uri-path encode-and-join-uri-path)) @@ -160,7 +160,7 @@ consistency checks to make sure that the constructed URI is valid." (define uri-regexp (make-regexp uri-pat)) -(define (parse-uri string) +(define (string->uri string) "Parse @var{string} into a URI object. Returns @code{#f} if the string could not be parsed." (% (let ((m (regexp-exec uri-regexp string))) @@ -197,7 +197,7 @@ printed." (declare-default-port! 'http 80) (declare-default-port! 'https 443) -(define (unparse-uri uri) +(define (uri->string uri) "Serialize @var{uri} to a string." (let* ((scheme-str (string-append (symbol->string (uri-scheme uri)) ":")) diff --git a/test-suite/tests/web-uri.test b/test-suite/tests/web-uri.test index 832bccffc..534380af7 100644 --- a/test-suite/tests/web-uri.test +++ b/test-suite/tests/web-uri.test @@ -107,25 +107,25 @@ (build-uri 'http #:userinfo "foo"))) -(with-test-prefix "parse-uri" +(with-test-prefix "string->uri" (pass-if "ftp:" - (uri=? (parse-uri "ftp:") + (uri=? (string->uri "ftp:") #:scheme 'ftp #:path "")) (pass-if "ftp:foo" - (uri=? (parse-uri "ftp:foo") + (uri=? (string->uri "ftp:foo") #:scheme 'ftp #:path "foo")) (pass-if "ftp://foo/bar" - (uri=? (parse-uri "ftp://foo/bar") + (uri=? (string->uri "ftp://foo/bar") #:scheme 'ftp #:host "foo" #:path "/bar")) (pass-if "ftp://foo@bar:22/baz" - (uri=? (parse-uri "ftp://foo@bar:22/baz") + (uri=? (string->uri "ftp://foo@bar:22/baz") #:scheme 'ftp #:userinfo "foo" #:host "bar" @@ -133,49 +133,49 @@ #:path "/baz")) (pass-if "http://bad.host.1" - (not (parse-uri "http://bad.host.1"))) + (not (string->uri "http://bad.host.1"))) (pass-if "http://foo:" - (uri=? (parse-uri "http://foo:") + (uri=? (string->uri "http://foo:") #:scheme 'http #:host "foo" #:path "")) (pass-if "http://foo:/" - (uri=? (parse-uri "http://foo:/") + (uri=? (string->uri "http://foo:/") #:scheme 'http #:host "foo" #:path "/")) (pass-if "http://foo:not-a-port" - (not (parse-uri "http://foo:not-a-port"))) + (not (string->uri "http://foo:not-a-port"))) (pass-if "http://:10" - (not (parse-uri "http://:10"))) + (not (string->uri "http://:10"))) (pass-if "http://foo@" - (not (parse-uri "http://foo@")))) + (not (string->uri "http://foo@")))) -(with-test-prefix "unparse-uri" +(with-test-prefix "uri->string" (pass-if "ftp:" (equal? "ftp:" - (unparse-uri (parse-uri "ftp:")))) + (uri->string (string->uri "ftp:")))) (pass-if "ftp:foo" (equal? "ftp:foo" - (unparse-uri (parse-uri "ftp:foo")))) + (uri->string (string->uri "ftp:foo")))) (pass-if "ftp://foo/bar" (equal? "ftp://foo/bar" - (unparse-uri (parse-uri "ftp://foo/bar")))) + (uri->string (string->uri "ftp://foo/bar")))) (pass-if "ftp://foo@bar:22/baz" (equal? "ftp://foo@bar:22/baz" - (unparse-uri (parse-uri "ftp://foo@bar:22/baz")))) + (uri->string (string->uri "ftp://foo@bar:22/baz")))) (pass-if "http://foo:" (equal? "http://foo" - (unparse-uri (parse-uri "http://foo:")))) + (uri->string (string->uri "http://foo:")))) (pass-if "http://foo:/" (equal? "http://foo/" - (unparse-uri (parse-uri "http://foo:/"))))) + (uri->string (string->uri "http://foo:/"))))) (with-test-prefix "decode" (pass-if (equal? "foo bar" (uri-decode "foo%20bar"))))