Hey, all- I'm using Restlet 2.1RC2. I have a search resource that is working fine, except we came across a case where the search term has a '/' character in it.
I'm already expecting the search terms to come in URL encoded, and the request that's being sent (to search for "a/b" for example) looks like: /search/a%2Fb This is not being routed into my code at all, as far as I can tell based on debug logging - curl says the server is returning a 400 ("Bad Request"), although I don't see it in the server logs. I have tried modifying the route explicitly to support '/' characters, like so: TemplateRoute searchTemplate = router.attach("/search/{search_terms}", SearchResource.class); searchTemplate.getTemplate().getVariables().put("search_terms", new Variable(Variable.TYPE_URI_PATH)); This also is not working with the encoded '/'. (Also, I didn't think I needed to do this anyway, when the '/' character is encoded.) In fact, in running some tests, it turns out that using this code I can get the query routed if it's sent as "/search/a/b". I don't really want to do this though, because there are other characters we're encoding... As a workaround I'm going to propose that the client app replace '/' characters with some other special character. But does anyone have any idea why I'm seeing this odd behavior? Thanks! -------------------------- John Wismar Alldata Technology 916-478-3296 ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2923051