apache > cocoon
 

WildcardHeader-Matcher in Cocoon

WildcardHeaderMatcher

NAME

header-match, referer-match

WHAT

The WildcardHeaderMatcher matches a header value against a wildcard expression..

TYPE

Matcher, Sitemap Component

BLOCK

Core

CLASS

org.apache.cocoon.matching.WildcardHeaderMatcher

SINCE

Cocoon 2.0

CACHEABLE

not applicable

Description

The WildcardHeaderMatcher matches a wildcard pattern against a header value of the request.

Usage

The WildcardHeaderMatcher is used to apply the same sitemap processing to a group of requested URIs. A requested URI belongs to this group iff the header value is matched by the specified pattern.

The snippet below applies to all requested URIs having a header referer value matching the wildcard pattern http://foo.bar:8080/documentation/*.html the specified pipeline processing.

The generator retrieves the xml document having extension .xml, its basename is the request URI path, stripped off the prefix page-.

Sitemap pipeline examples

The snippet below uses the WildcardHeaderMatcher for matching the referer header value.

<map:pipelines>
  <map:pipeline>
    ....
    <map:match type="referer-match" pattern=http://foo.bar:8080/documentation/*.html">
      <!-- pipeline processing generator, transformer, serializing
      <map:generator src="xdocs/{../1}.xml"/>
      <map:transformer src="stylesheet/document2html"/>
        <map:parameter name="prev" value="{1}.html"/>
      <map:transformer/>
      <map:serialize/>
    </map:match>
    ...
  </map:pipeline>
  ...
        

Sitemap component configuration example

The WildcardHeaderMatcher sitemap configuration consists of choosing a name, and specifying the src attribute of the fully qualified name of the WildcardHeaderMatcher class.

Moreover sub element name header-name specifies the name of the header. Its value is matched against the specified pattern.

<map:matchers...
  <map:matcher name="referer-match" 
    src="org.apache.cocoon.matching.WildcardHeaderMatcher"
    logger="sitemap.matcher.referer-match" 
  />
    <header-name>referer</header-name>
    ...
  </map:matcher>
...

Configuration

The WildcardHeaderMatcher is configured by the subelement header-name, specifying the name of the header attribute name.

Setup

The WildcardHeaderMatcher gets the wildcard pattern from its pattern attribute.

Effect on Object Model and Sitemap Parameters

See a detailed discussion in WildcardURIMatcher

Bugs/Caveats

The use of parameter-name instead of header-name is deprecated.

History

12-28-02: initial creation

See also

A general documentation about matchers is available at Matchers and Selectors.

For a reference of available header names see RFC 2068, especially if Cocoon's run time environment is an http servlet environment.