# Http Service Filters

###### Identifier:

org.eclipse.equinox.http.registry.servlets

###### Since:

1.1

###### Description:

This extension mimics and borrows the semantics of the Equinox Extended HttpService registerFilter method.

###### Configuration Markup:

<!ELEMENT extension (serviceSelector? , filter+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT filter (init-param*)>

<!ATTLIST filter

class CDATA #REQUIRED

alias CDATA #REQUIRED

httpcontextId CDATA #IMPLIED

load-on-startup (true | false) >

- class - The equivalent of the Equinox Extended Http Service's "filter" in registerFilter. The Filter is instantiated by the Extension Point provider and must be an instance of javax.servlet.Filter
- alias - The equivalent of the Equinox Extended Http Services "alias" in registerFilter.
- httpcontextId - The equivalent of the Equinox Extended Http Services httpcontext in registerFilter. The httpcontextId is matched against the "httpcontexts" extension for a matching id. If this attribute is not provided the OSGi Http Service's DefaultHttpContext semantics are used.
- load-on-startup - Determines if the Filter should be initialized immediately.

<!ELEMENT init-param EMPTY>

<!ATTLIST init-param

name CDATA #REQUIRED

value CDATA #REQUIRED>

Similar to the Servlet Specification and its deployment descriptor's init-param elements.

- name - The initial parameter's name
- value - The initial parameter's value

<!ELEMENT serviceSelector EMPTY>

<!ATTLIST serviceSelector

filter CDATA #IMPLIED

class CDATA #IMPLIED>

- filter - The serviceSelector allow filtering of the HttpService instances with which to register filters.
- class - If used the class must be an instance of org.osgi.framework.Filter

###### Examples:

The following is an example of the `filters` extension:

         <extension
               id="testFilter"
               point="org.eclipse.equinox.http.registry.filters">
            <filter
                  alias="/sp_test"
                  class="org.eclipse.equinox.http.registry.internal.TestFilter">
               <init-param
                     name="testParam"
                     value="test param value">
               </init-param>
            </filter>
         </extension>

This equivalent to the Equinox Extended Http Service's registerFilter method.

###### API Information:

Filters must be an instance of javax.servlet.Filter

Copyright (c) 2010 IBM Corporation and others
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html.
Contributors:
Cognos Incorporated - initial API and implementation
IBM Corporation - bug fixes and enhancements