From 3bc2686e3316754e5f5ee8bf2499b4bdac15b3db Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 19 Jul 2003 13:02:18 +0000 Subject: [PATCH] . original commit: 67278507ce52b2bb29918ce96354d8aefb15d029 --- collects/net/url-sig.ss | 1 + collects/net/url-unit.ss | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/collects/net/url-sig.ss b/collects/net/url-sig.ss index 5cee3a7..54d0750 100644 --- a/collects/net/url-sig.ss +++ b/collects/net/url-sig.ss @@ -14,6 +14,7 @@ netscape/string->url ;; (string -> url) string->url ;; str -> url url->string + decode-some-url-parts ;; url -> url call/input-url ;; url x (url -> in-port) x ;; (in-port -> T) ;; [x list (str)] -> T diff --git a/collects/net/url-unit.ss b/collects/net/url-unit.ss index 5c9df09..f762837 100644 --- a/collects/net/url-unit.ss +++ b/collects/net/url-unit.ss @@ -13,6 +13,7 @@ (require (lib "file.ss") (lib "unitsig.ss") (lib "thread.ss") + "uri-codec.ss" "url-sig.ss" "tcp-sig.ss") (provide url@) @@ -493,6 +494,22 @@ (get-str 4 0 1) ; user )) (url-error "Invalid URL string: ~e" str)))))))) + + (define (decode-some-url-parts url) + (let ([uri-decode/maybe + (lambda (f) + (and f (uri-decode f)))]) + (make-url/user (uri-decode/maybe (url-scheme url)) + (uri-decode/maybe (url-host url)) + (uri-decode/maybe (url-port url)) + (uri-decode/maybe (url-path url)) + (url-params url) + (url-query url) + (uri-decode/maybe (url-fragment url)) + (if (url/user? url) + (uri-decode/maybe (url/user-user url)) + #f)))) + #| Old version. See PR 6152 for information on its replacement.