flash.net

# URLRequestHeader - AS3

Package | flash.net
Class | public final class URLRequestHeader
Inheritance | URLRequestHeader Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

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

Related API Elements

URLRequest
URLLoader

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | 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
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | URLRequestHeader(name:String = "", value:String = "") Creates a new URLRequestHeader object that encapsulates a single HTTP request header. | URLRequestHeader
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### name

property

`public var name:String`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

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

### value

property

`public var value:String`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

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: | AIR 1.0, Flash Player 9, Flash Lite 4

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 How to use this example
URLRequestHeaderExample.as
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.
Copy

    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);
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00