Skip to content

Milton does not use UrlAdapter in every Handler - problem eliminating context path #102

@jfrommann

Description

@jfrommann

We use Milton in a separate webapp in our project. Since we have several webapps deployed in one application server, every webapp has to use its own context path. To eliminate the context path from Milton requests i implemented your UrlAdapter interface. This works fine for Get or Delete request but not for MkCol or Move for example.

I patched milton-server-ce myself to get this to work but i would prefer to see this resolved in an official release. Here is what i did:

Changed MkColHandler to get ResourceHandlerHelper injected and changed MkColHandler.process() to:
String finalurl = HttpManager.decodeUrl(resourceHandlerHelper.getUrlAdapter().getUrl(request));

Extended UrlAdapter by:
String processUrl(String url);
and delegated to this method in UrlAdapterImpl.getUrl() by spliting the original method.

Changed MoveHandler.processExistingResource() to:
String destUrl = resourceHandlerHelper.getUrlAdapter().processUrl(dest.url);
Resource rDest = manager.getResourceFactory().getResource(dest.host, destUrl);

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions