Markus, Side question, but related. I have tried in the past to register a Filter before the SlingMain Servlet which also has Filter registration functionality (presumably from a time when the OSGi HttpService didnt support filters), however I was always stuck locating the HttpContext. (the Pax HttpService impl needs the a real HttpContext class)
Is the Context ID mentioned in [0], the service ID of the service that implements the HttpContext? (which would be SlingMain as that implements HttpContext and registers against itself) and Does registering against a null context make a Filter active on all contexts? TIA Ian On 24 Feb 2011, at 18:21, Julian Sedding wrote: > Hello Markus > > You can register servlet filters in Sling, but you can also register > servlet filters in the OSGi HttpService using the whiteboard[0]. As > the SlingMainServlet runs within the OSGi HttpService, you may have > more success registering a filter there. I don't know where in the > stack ParameterSupport is added, so YMMV. Let us know whether this > does the trick. > > Regards > Julian > > [0] > http://felix.apache.org/site/apache-felix-http-service.html#ApacheFelixHTTPService-UsingtheWhiteboard > > > > On Thu, Feb 24, 2011 at 4:29 PM, Markus Joschko > <markus.josc...@gmail.com> wrote: >> Hi Vidar and all, >> I think that this approach is not working. >> I have the exact same use case. We don't want to put the _charset_ >> parameter into every form. Therefore I tried to automatically add a >> _charset_ request parameter to the request in a filter. >> However that parameter never gets picked up as ParameterSupport is >> created before the filter gets called (and then uses the reference to >> the original servletrequest and not the wrapped one). >> I could theoretically reinstantiate Parametersupport but that requires >> knowledge of the servlet attribute key where parametersupport is >> stored. And that is a private variable in parametersupport. >> >> Any other chance to not have the _charset_ parameter in every post >> request sent to the system? >> >> Thanks, >> Markus >> >> On Fri, Feb 11, 2011 at 2:25 PM, Vidar Ramdal <vi...@idium.no> wrote: >>> On Thu, Feb 10, 2011 at 11:56 PM, Peter Dotchev <dotc...@gmail.com> wrote: >>>> >>>> Hi, >>>> >>>> Recently >>>> http://dotev.blogspot.com/2011/02/posting-non-ascii-characters-in-web.html >>>> I >>>> stumbled over this issue too. >>>> >>>> I don't want to add _charset_ input to all the forms. >>>> Is there a way to set the request encoding to UTF-8? >>>> IMHO it would be better if the request encoding is configurable like it is >>>> done in Wicket. >>>> >>>> http://wiki.apache.org/tomcat/FAQ/CharacterEncoding Tomcat FAQ suggests >>>> using a filter. >>>> How can I do that in Sling? >>> >>> Hi, you can implement the javax.servlet.Filter interface and register >>> your implementation as a Filter service: >>> >>> @Component(immediate = true) >>> @Properties({ >>> @Property(name = "filter.scope", value = "request", >>> propertyPrivate = true), >>> @Property(name = "filter.order", value = "-9", propertyPrivate = >>> true) >>> }) >>> @Services({@Service(javax.servlet.Filter.class)}) >>> public class YourFilter implements javax.servlet.Filter { >>> ... >>> } >>> >>> >>> >>> -- >>> Vidar S. Ramdal <vi...@idium.no> - http://www.idium.no >>> Sommerrogata 13-15, N-0255 Oslo, Norway >>> + 47 22 00 84 00 >>> Quando omni flunkus moritatus! >>> >>