Apama 10.15.0 | Connecting Apama Applications to External Components | Standard Connectivity Plug-ins | The HTTP Server Transport Connectivity Plug-in | Mapping events between EPL and HTTP server requests | Handling HTTP headers
 
Handling HTTP headers
The HTTP server reads any number of headers from the received request and puts them into metadata.http.headers. Similarly, when using EPL-supplied responses, headers are read from metadata.http.headers and written into the response as individual HTTP header lines. Some special handling is applied as described below.
All HTTP headers are converted from ISO-8859-1 (the character set for HTTP headers as defined in the RFC publications) to UTF-8 in the metadata and vice-versa.
All HTTP header keys are converted to lowercase (since HTTP header keys are defined to be case-insensitive). You should use lowercase in all of your mapping and classification rules.
Any HTTP headers for which multiple values have been provided for a single key (after normalization of case) are dropped.
The content type and charset in requests, which are parsed from the Content-Type header, are provided in metadata.contentType and metadata.charset respectively. For responses, the two metadata fields are combined into the Content-Type header.
If HTTP basic authentication is enabled, then the authorization header is removed from metadata.http.headers, but in this case the user name is still available in metadata.http.user. If authorization is none, then the authorization type is passed through verbatim.
All cookies in requests are put into the metadata.http.cookies field and that field is used to generate Set-Cookie headers in responses. See also Dealing with cookies.
To protect the security of personal data, see Protecting Personal Data in Apama Applications.