Description

Makes HTTP request headers and body available to CFML pages. Useful for capturing SOAP request data, which can be delivered in an HTTP header.

Returns

A ColdFusion structure.

Category

System functions

Function syntax

GetHttpRequestData(includeBody)

Parameters

Parameter

Description

includeBody 

A boolean value specifying whether to retrieve the body of the request. Once it is retrieved, it cannot be read again. The default value of this parameter is true. If you need to retrieve anything other than body from the request, use the parameter value as false. 

Returns

The function returns a structure that contains the following entries:

Structure element

Description

content

Raw content from form submitted by client, in string or binary format. For content to be considered string data, the FORM request header "CONTENT_TYPE" must start with "text/" or be special case "application/x-www-form-urlencoded". Other types are stored as a binary object.

headers

Structure that contains HTTP request headers as value pairs. Includes custom headers, such as SOAP requests.

method

String that contains the CGI variable Request_Method.

protocol

String that contains the Server_Protocol CGI variable.

Usage

To determine whether data is binary, use IsBinary(x.content). To convert data to a string value, if it can be displayed as a string, use ToString(x.content).

Example

The following example shows how this function can return HTTP header information.

<cfset x = GetHttpRequestData()>
<cfoutput>
<table cellpadding = "2" cellspacing = "2">
<tr>
<td><b>HTTP Request item</b></td>
<td><b>Value</b></td> </tr>
<cfloop collection = #x.headers# item = "http_item">
<tr>
<td>#http_item#</td>
<td>#StructFind(x.headers, http_item)#</td> </tr>
</cfloop>
<tr>
<td>request_method</td>
<td>#x.method#</td></tr>
<tr>
<td>server_protocol</td>
<td>#x.protocol#</td></tr>
</table>
<b>http_content --- #x.content#</b>
</cfoutput>

 

Structure element

Description

content

Raw content from form submitted by client, in string or binary format. For content to be considered string data, the FORM request header "CONTENT_TYPE" must start with "text/" or be special case "application/x-www-form-urlencoded". Other types are stored as a binary object.

headers

Structure that contains HTTP request headers as value pairs. Includes custom headers, such as SOAP requests.

method

String that contains the CGI variable Request_Method.

protocol

String that contains the Server_Protocol CGI variable.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy