#95: URL Pathnames -------------------------+-------------------------------------------------- Reporter: mevenson | Owner: mevenson Type: enhancement | Status: new Priority: major | Milestone: 0.20 Component: other | Version: Keywords: | -------------------------+-------------------------------------------------- Goals -----
1. Use Common Lisp pathnames to refer to representations referenced by a URL.
2. The URL schemes supported shall include at least "http", and those enabled by the URLStreamHandler extension mechanism.
3. Use URL schemes that are understood by the java.net.URL object.
A file specified by URL
#p"http://example.org/org/armedbear/systems/pgp.asd"
4. MERGE-PATHNAMES
(merge-pathnames "url.asd" "http://example/org/armedbear/systems/pgp.asd") ==> "http://example/org/armedbear/systems/url.asd"
5. PROBE-FILE returning the state of URL accesibility.
6. TRUENAME "aliased" to PROBE-FILE signalling an error if the URL is not accessible (see "Non-goal 1").
7. DIRECTORY for non-wildcards
8. URL pathname work as a valid argument for OPEN with :DIRECTION :INPUT.
9. Enable the loading of ASDF2 systems referenced by a URL pathname.
10. The reserved URL characters (`~`, `/`, `?`, etc.) shall be encoded in the proper manner on construction of the Pathname.
11. The "file" scheme will continue to be represented by an "ordinary" Pathname.
12. The "jar" scheme will continue to be represented by a jar Pathname.
Non-goals ---------
1. We will not implement canonicalization of URL schemas (such as following "http" redirects).
2. DIRECTORY working for URL pathnames containing wildcards.