I posted about modifying a HTTP response back in June 2014 here.
This month, I had to put together a HTTP transformation rule that would update a Request header. In particular, the Request header was “out of spec” from the HTTP rules for a Content-Type.
It simply updated the request header.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- This is relevant to a request only. -->
<!-- Firstly, strip any space elements -->
<xsl:strip-space elements="*" />
<!--
Perform a match on the root of the document. Output the required
HTTPRequestChange elements and then process templates.
-->
<xsl:template match="/">
<HTTPRequestChange>
<xsl:apply-templates />
</HTTPRequestChange>
</xsl:template>
<!--
Match on the Headers. Any Header processing
should happen within this template.
-->
<xsl:template match="//HTTPRequest/Headers">
<Header name="Content-Type" action="update">
application/x-www-form-urlencoded
</Header>
</xsl:template>
</xsl:stylesheet>
Very simple, but always handy to have some examples. Follow the steps from the previous article to put it to use – with one subtle change:

In the POP, use the Value of “Request” to ensure that the transformation occurs on the Request, not the response.
