Packageflash.net
Classpublic final class URLRequestHeader
InheritanceURLRequestHeader Inheritance Object

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

A URLRequestHeader object encapsulates a single HTTP request header and consists of a name/value pair. URLRequestHeader objects are used in the requestHeaders property of the URLRequest class.

In Adobe® AIR®, content in the application security sandbox (such as content installed with the AIR application) can use any request headers, without error. However, for content running in Adobe AIR that is in a different security sandbox, or for content running in Flash® Player, using following request headers cause a runtime error to be thrown, and the restricted terms are not case-sensitive (for example, Get, get, and GET are each not allowed):

In Flash Player and in Adobe AIR content outside of the application security sandbox, the following request headers cannot be used, and the restricted terms are not case-sensitive (for example, Get, get, and GET are all not allowed). Also, hyphenated terms apply if an underscore character is used (for example, both Content-Length and Content_Length are not allowed):

Accept-Charset, Accept-Encoding, Accept-Ranges, Age, Allow, Allowed, Authorization, Charge-To, Connect, Connection, Content-Length, Content-Location, Content-Range, Cookie, Date, Delete, ETag, Expect, Get, Head, Host, If-Modified-Since, Keep-Alive, Last-Modified, Location, Max-Forwards, Options, Origin, Post, Proxy-Authenticate, Proxy-Authorization, Proxy-Connection, Public, Put, Range, Referer, Request-Range, Retry-After, Server, TE, Trace, Trailer, Transfer-Encoding, Upgrade, URI, User-Agent, Vary, Via, Warning, WWW-Authenticate, x-flash-version.

URLRequestHeader objects are restricted in length. If the cumulative length of a URLRequestHeader object (the length of the name property plus the value property) or an array of URLRequestHeader objects used in the URLRequest.requestHeaders property exceeds the acceptable length, an exception is thrown.

Content running in Adobe AIR sets the ACCEPT header to the following, unless you specify a setting for the ACCEPT header in the requestHeaders property of the URLRequest class:

text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, */*;q=0.5

Not all methods that accept URLRequest parameters support the requestHeaders property, consult the documentation for the method you are calling. For example, the FileReference.upload() and FileReference.download() methods do not support the URLRequest.requestHeaders property.

Due to browser limitations, custom HTTP request headers are only supported for POST requests, not for GET requests.

View the examples

See also

URLRequest
URLLoader


Public Properties
 PropertyDefined By
  name : String
An HTTP request header name (such as Content-Type or SOAPAction).
URLRequestHeader
  value : String
The value associated with the name property (such as text/plain).
URLRequestHeader
Public Methods
 MethodDefined By
  
URLRequestHeader(name:String = "", value:String = "")
Creates a new URLRequestHeader object that encapsulates a single HTTP request header.
URLRequestHeader
 Inherited
_init():*
[static]
_init
 Inherited
AS3
 Inherited
init():*
[static]
init
 Inherited
AS3
 Inherited
AS3
Protected Methods
 MethodDefined By
 Inherited
[static]
protected
 Inherited
_setPropertyIsEnumerable(o:*, V:String, enumerable:Boolean):void
[static]
protected
Public Constants
 ConstantDefined By
 Inheritedlength : int = 1
[static]
length
Property Detail
nameproperty
public var name:String

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

An HTTP request header name (such as Content-Type or SOAPAction).

valueproperty 
public var value:String

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

The value associated with the name property (such as text/plain).

Constructor Detail
URLRequestHeader()Constructor
public function URLRequestHeader(name:String = "", value:String = "")

Language Version : ActionScript 3.0
Runtime Versions : Flash Player 9, AIR 1.0

Creates a new URLRequestHeader object that encapsulates a single HTTP request header. URLRequestHeader objects are used in the requestHeaders property of the URLRequest class.

Parameters
name:String (default = "") — An HTTP request header name (such as Content-Type or SOAPAction).
 
value:String (default = "") — The value associated with the name property (such as text/plain).
Examples
The following example adds a single HTTP request header header to the array for the requestHeaders property. The header indicates that the application should forward the request to the origin server even if it has a cached copy of what is being requested.
     package
     {
             import flash.display.Sprite;
             import flash.events.
             import flash.net.URLLoader;
             import flash.net.URLRequest;
             import flash.net.URLRequestHeader;
             import flash.net.URLRequestMethod;
             import flash.net.URLVariables;
                  public class URLRequestHeaderExample extends Sprite
             {
                 private var loader:URLLoader;
             
                 public function URLRequestHeaderExample()
                 {
                     loader = new URLLoader();
                     configureListeners( loader );
     
                     var header:URLRequestHeader = new URLRequestHeader( "pragma", "no-cache" );
                     var request:URLRequest = new URLRequest( "http://www.[yourdomain].com/greeting.cfm" );
                     request.data = new URLVariables( "name=John+Doe" );
                     request.method = URLRequestMethod.POST;
                     request.requestHeaders.push( header );
     
                     try
                     {
                         loader.load( request );
                     }
                     catch( error:Error )
                     {
                         trace( "Unable to load requested document." );
                     }
                 }
     
                 private function configureListeners( dispatcher:IEventDispatcher ):void
                 {
                     dispatcher.addEventListener( Event.COMPLETE, completeHandler );
                     dispatcher.addEventListener( Event.OPEN, openHandler );
                     dispatcher.addEventListener( ProgressEvent.PROGRESS, progressHandler );
                     dispatcher.addEventListener( SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler );
                     dispatcher.addEventListener( HTTPStatusEvent.HTTP_STATUS, httpStatusHandler );
                     dispatcher.addEventListener( IOErrorEvent.IO_ERROR, ioErrorHandler );
                 }
     
                 private function completeHandler( event:Event ):void
                 {
                     var loader:URLLoader = URLLoader( event.target );
                     trace( "completeHandler: " + loader.data );
                 }
     
                 private function openHandler( event:Event ):void
                 {
                     trace( "openHandler: " + event );
                 }
     
                 private function progressHandler( event:ProgressEvent ):void
                 {
                     trace( "progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal );
                 }
     
                 private function securityErrorHandler( event:SecurityErrorEvent ):void
                 {
                     trace( "securityErrorHandler: " + event );
                 }
     
                 private function httpStatusHandler( event:HTTPStatusEvent ):void
                 {
                     trace( "httpStatusHandler: " + event );
                 }
     
                 private function ioErrorHandler( event:IOErrorEvent ):void
                 {
                     trace( "ioErrorHandler: " + event );
                 }
             }
     }