incubator-jspwiki-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Jaquith <>
Subject WikiPaths and HTTP request parameters
Date Thu, 25 Feb 2010 21:02:49 GMT
All --

I've been doing some non-automated UI/quality checks on the current
3.0.0 builds. Things are moving along nicely, but one issue that has
popped up is the URL syntax for downloading attachments. However, it's
just a symptom of a bigger issue that needs to get solved for
hierarchical WikiPaths (sub-pages).

The root of the issue: how to represent WikiPath parameters in URLs.
For example: a page in the top level of the wiki space page hierarchy
called "Main" has a simple WikiPath: main:Foo (the "Foo page in the
'main' space"). Easy, right?

For comparison, a subpage "Bar" would have this WikiPath:
main:Foo/Bar. Again, pretty easy, right?

The difficulty is in how the URL should be encoded/ A straight
URL-encoding of the path looks like this: page=main%3AFoo%2FBar

But this doesn't always work well. I've found that inclusion of the
encoded slashes in a "clean URL" (such as AttachmentActionBean!)
causes the container to act funny. For example, this URL causes the
container to do something completely unexpected:


And by "unexpected," I mean get a 400 error and zero-length response:

HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Thu, 25 Feb 2010 20:49:05 GMT
Connection: close

By contrast, a partial url-encoding (where the forward slash between
main are not encoded) works fine, and the attachment downloads as it


Anybody have any idea on why one URL works, and the other does not?
The easiest "fix" would be to use a path separator (in the URL at
least) that isn't a slash. This would also solve the situation where
we aren't using clean URLs, and the page or path needs to be included
as a regular "page" parameter.


View raw message