Markus Wiederkehr wrote:
On Fri, Jan 23, 2009 at 4:57 PM, Oleg Kalnichevski <ol...@apache.org> wrote:
<snip>
Folks
Take it for what it is worth to you.
In the HttpClient / HttpComponents land we have to deal with lots of
various HTTP protocol violations (or shall I say imperfections). There
has always been a lot of requests from users to incorporate workarounds
for their immediate problems into the stock version of HttpClient. The
only feasible approach that worked for us was to provide a plug-in
mechanism for components that might require different degree of
tolerance to a particular type of HTTP messages and to let the users
provide custom implementations that suited their specific application
needs.
Oleg
I like that idea.. What mechanism do you use to inject the plug-ins?
System properties or something more sophisticated?
We use basic constructor / setter injection, so that the users could put
things together either with a DI framework of their choice or manually.
With Mime4j we have AbstractEntity.newBodyDescriptor() which is
responsible for creating a MutableBodyDescriptor.. Maybe this could be
the place where a custom body descriptor could be injected.
DefaultBodyDescriptor could do some of the parsing in protected
methods to allow a subclass to overwrite them..
Sounds reasonable to me. Something along these lines:
interface BodyDescriptorFactory {
MutableBodyDescriptor create(
BodyDescriptor pParent,
MimeEntityConfig config);
}
Oleg
There may be better solutions of course..
Markus
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org