Future features
There are numerous features that I would like to add to the
proxy. But there just isn't time to include everything :)
Some of the elements listed here are taken from the
feature request tracker on sourceforge. They will then be closed
on the tracker and added as official "nice to haves".
Wish list
Here are some features and changes that I would like to see added
to the proxy. If you would like to help add some of them, take
contact via sourceforge and I will commit your code.
-
Parse html looking for links using a XML parser. This should be
faster then the current regular expressions parsing of the pages.
-
Add support for webdav methods.
-
Ask the underlying servers to respond with the content as gzip.
Make sure this doesn't break the rewrite and
that content is extracted if the end user can't handle gzip.
-
Enable use of SSL connection to end servers. This should be rather
easy to fix since HttpClient handles HTTPS. Currently the protocol used
to proxy is the same as the client is connecting to the proxy with.
-
Extract the factories to interfaces making it possible to use
custom factories like a factory supporting webdav and one other
supporting ftp.
-
Add support for caching. There must be some filter using changing
that can be reused and bundled with the proxy. This can also make
rewrite performance not that important since we will cache the
rewritten page.
-
Create more rules. All extra rules that does something somewhat
useful would be great to add to the proxy.
-
Add some sort of a disallow server that will end the request coming
to it. This is good since it can be used with rules to "kill" requests
matching a rule. This should be a rather easy task.
-
Make a jar release for people that wants to embed a proxy
in their application. Currently this is in the build.xml but some changes
will have to be made and maybe some new classes created to make
the proxy classes work without a Servlet Container.
-
Currently the XML parsing is done using hard coded parsing information
in the ConfigParser, extract this to a new file specifying the
parsing in XML. The problem
will be to create classes based on the className parameter, possibly
this will have to be implemented in the commons-digester code.