window.runtime property | window.runtime.flash.net.URLStream |
Inheritance | URLStream EventDispatcher Object |
Runtime Versions: | AIR 1.0, |
The read operations in URLStream are nonblocking.
This means that you must use the bytesAvailable
property to determine
whether sufficient data is available before reading it. An
EOFError
exception is thrown if insufficient
data is available.
All binary data is encoded by default in big-endian format, with the most significant byte first.
The security rules that apply to URL downloading with the URLStream class are identical to the rules applied to URLLoader objects. Policy files may be downloaded as needed. Local file security rules are enforced, and security warnings are raised as needed.
See also
Property | Defined By | ||
---|---|---|---|
bytesAvailable : uint [read-only]
Returns the number of bytes of data available for reading
in the input buffer. | URLStream | ||
connected : Boolean [read-only]
Indicates whether this URLStream object is
currently connected. | URLStream | ||
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
endian : String
Indicates the byte order for the data. | URLStream | ||
objectEncoding : uint
Controls the version of Action Message Format (AMF) used when writing or reading an object. | URLStream | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object |
Method | Defined By | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | ||
close():void
Immediately closes the stream and
cancels the download operation. | URLStream | ||
dispatchEvent(event:Event):Boolean
Dispatches an event into the event flow. | EventDispatcher | ||
hasEventListener(type:String):Boolean
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | ||
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 | ||
load(request:URLRequest):void
Begins downloading the URL specified in the request parameter. | URLStream | ||
propertyIsEnumerable(name:String):Boolean
Indicates whether the specified property exists and is enumerable. | Object | ||
readBoolean():Boolean
Reads a Boolean value from the stream. | URLStream | ||
readByte():int
Reads a signed byte from the stream. | URLStream | ||
Reads length bytes of data from the stream. | URLStream | ||
readDouble():Number
Reads an IEEE 754 double-precision floating-point number from the stream. | URLStream | ||
readFloat():Number
Reads an IEEE 754 single-precision floating-point number from the stream. | URLStream | ||
readInt():int
Reads a signed 32-bit integer from the stream. | URLStream | ||
readMultiByte(length:uint, charSet:String):String
Reads a multibyte string of specified length from the byte stream using the
specified character set. | URLStream | ||
readObject():*
Reads an object from the socket, encoded in Action Message Format (AMF). | URLStream | ||
readShort():int
Reads a signed 16-bit integer from the stream. | URLStream | ||
readUnsignedByte():uint
Reads an unsigned byte from the stream. | URLStream | ||
readUnsignedInt():uint
Reads an unsigned 32-bit integer from the stream. | URLStream | ||
readUnsignedShort():uint
Reads an unsigned 16-bit integer from the stream. | URLStream | ||
readUTF():String
Reads a UTF-8 string from the stream. | URLStream | ||
readUTFBytes(length:uint):String
Reads a sequence of length UTF-8
bytes from the stream, and returns a string. | URLStream | ||
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object. | EventDispatcher | ||
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 | ||
willTrigger(type:String):Boolean
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
Event | Summary | Defined By | ||
---|---|---|---|---|
[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | |||
Dispatched when data has loaded successfully. | URLStream | |||
[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | |||
Dispatched if a call to the URLStream.load() method attempts to access data over HTTP and Adobe AIR is able to detect and return the status code for the request. | URLStream | |||
Dispatched if a call to URLStream.load() attempts to access data over HTTP, and Flash Player or Adobe AIR is able to detect and return the status code for the request. | URLStream | |||
Dispatched when an input/output error occurs that causes a load operation to fail. | URLStream | |||
Dispatched when a load operation starts. | URLStream | |||
Dispatched when data is received as the download operation progresses. | URLStream | |||
Dispatched if a call to URLStream.load() attempts to load data from a server outside the security sandbox. | URLStream |
bytesAvailable | property |
bytesAvailable:uint
[read-only] Runtime Versions: | AIR 1.0, |
Returns the number of bytes of data available for reading
in the input buffer.
Your code must call the bytesAvailable
property to ensure
that sufficient data is available before you try to read
it with one of the read
methods.
connected | property |
connected:Boolean
[read-only] Runtime Versions: | AIR 1.0, |
Indicates whether this URLStream object is
currently connected. A call to this property returns a value of true
if the URLStream object is connected, or false
otherwise.
endian | property |
endian:String
Runtime Versions: | AIR 1.0, |
Indicates the byte order for the data. Possible values are
Endian.BIG_ENDIAN
or Endian.LITTLE_ENDIAN
.
The default value is Endian.BIG_ENDIAN.
See also
objectEncoding | property |
objectEncoding:uint
Runtime Versions: | AIR 1.0, |
Controls the version of Action Message Format (AMF) used when writing or reading an object.
See also
close | () | method |
public function close():void
Runtime Versions: | AIR 1.0, |
Immediately closes the stream and
cancels the download operation.
No data can be read from the stream after the close()
method is called.
Throws
IOError — The stream could not be closed, or the stream was not open.
|
load | () | method |
public function load(request:URLRequest):void
Runtime Versions: | AIR 1.0, |
Begins downloading the URL specified in the request
parameter.
Note: If a file being loaded contains non-ASCII characters (as found in many non-English languages), it is recommended that you save the file with UTF-8 or UTF-16 encoding, as opposed to a non-Unicode format like ASCII.
If the loading operation fails immediately, an IOError or SecurityError
(including the local file security error) exception is thrown describing the failure.
Otherwise, an open
event is dispatched if the URL download
starts downloading successfully, or an error event is dispatched if an error occurs.
By default, the calling SWF file and the URL you load must be in exactly the same domain. For example, a SWF file at www.adobe.com can load data only from sources that are also at www.adobe.com. To load data from a different domain, place a URL policy file on the server hosting the data.
In AIR, a URLRequest object can register for the httpResponse
status event.
Unlike the httpStatus
event, the httpResponseStatus
event is
delivered before any response data. Also, the httpResponseStatus
event includes
values for the responseHeaders
and responseURL
properties (which are
undefined for an httpStatus
event. Note that the httpResponseStatus
event
(if any) will be sent before (and in addition to) any complete
or error
event.
If there is an httpResponseStatus
event listener, the body of the response
message is always sent; and HTTP status code responses always results in a complete
event.
This is true in spite of whether the HTTP response status code indicates a success or an error.
If there is
no httpResponseStatus
event listener, the behavior differs
based on the AIR version:
- In an AIR file in which the application descriptor specifies AIR 1.0 or 1.1 as the runtime version, the body of the HTTP response message is sent only if the HTTP response status code indicates success. Otherwise (if there is an error), no body is sent and the URLRequest object dispatches an IOError event.
- In an AIR file in which the application descriptor specifies AIR 1.5 as the runtime version, the body of the HTTP response message is always sent. If there is an error, the URLRequest object dispatches an IOError event.
Parameters
request:URLRequest — A URLRequest object specifying the URL to download. If the value of
this parameter or the URLRequest.url property of the URLRequest object
passed are null , the application throws a null pointer error.
|
Events
complete: — Dispatched after data has loaded successfully. If there is a httpResponseStatus
event listener, the URLRequest object also dispatches a complete event whether the HTTP response status code
indicates a success or an error. | |
httpStatus: — If access is by HTTP and
the current environment supports obtaining status codes, you may
receive these events in addition to any complete
or error event. | |
httpResponseStatus: — Dispatched if a call to the load() method attempts
to access data over HTTP and Adobe AIR is able to detect and return the status code for the request. | |
ioError: — The load operation could not be
completed. | |
open: — Dispatched when a load operation starts. | |
securityError: — A load operation attempted
to retrieve data from a server outside the caller's security sandbox.
This may be worked around using a policy file on the server. |
Throws
ArgumentError — URLRequest.requestHeader objects may not contain
certain prohibited HTTP request headers. For more information, see the URLRequestHeader class
description.
| |
MemoryError — This error can occur for the following reasons:
| |
SecurityError — Local untrusted SWF files may not communicate with
the Internet. This may be worked around by reclassifying this SWF file
as local-with-networking or trusted.
| |
SecurityError — You are trying to connect to a commonly reserved port.
For a complete list of blocked ports, see "Restricting Networking APIs" in the
ActionScript 3.0 Developer's Guide.
|
readBoolean | () | method |
public function readBoolean():Boolean
Runtime Versions: | AIR 1.0, |
Reads a Boolean value from the stream. A single byte is read,
and true
is returned if the byte is nonzero,
false
otherwise.
Boolean — True is returned if the byte is nonzero, false otherwise.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readByte | () | method |
public function readByte():int
Runtime Versions: | AIR 1.0, |
Reads a signed byte from the stream.
The returned value is in the range -128...127.
Returnsint — Value in the range -128...127.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readBytes | () | method |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Runtime Versions: | AIR 1.0, |
Reads length
bytes of data from the stream.
The bytes are read into the ByteArray object specified
by bytes
, starting offset
bytes into
the ByteArray object.
Parameters
bytes:ByteArray — The ByteArray object to read
data into.
| |
offset:uint (default = 0 ) — The offset into bytes at which data
read should begin. Defaults to 0.
| |
length:uint (default = 0 ) — The number of bytes to read. The default value
of 0 will cause all available data to be read.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream, or the stream is not open.
|
readDouble | () | method |
public function readDouble():Number
Runtime Versions: | AIR 1.0, |
Reads an IEEE 754 double-precision floating-point number from the stream.
ReturnsNumber — An IEEE 754 double-precision floating-point number from the stream.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readFloat | () | method |
public function readFloat():Number
Runtime Versions: | AIR 1.0, |
Reads an IEEE 754 single-precision floating-point number from the stream.
ReturnsNumber — An IEEE 754 single-precision floating-point number from the stream.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readInt | () | method |
public function readInt():int
Runtime Versions: | AIR 1.0, |
Reads a signed 32-bit integer from the stream.
The returned value is in the range -2147483648...2147483647.
Returnsint — Value in the range -2147483648...2147483647.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readMultiByte | () | method |
public function readMultiByte(length:uint, charSet:String):String
Runtime Versions: | AIR 1.0, |
Reads a multibyte string of specified length from the byte stream using the specified character set.
Parameters
length:uint — The number of bytes from the byte stream to read.
| |
charSet:String — The string denoting the character set to use to interpret the bytes.
Possible character set strings include "shift_jis" , "CN-GB" ,
"iso-8859-1" , and others.
For a complete list, see Supported Character Sets.
Note: If the value for the |
String — UTF-8 encoded string.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
|
readObject | () | method |
public function readObject():*
Runtime Versions: | AIR 1.0, |
Reads an object from the socket, encoded in Action Message Format (AMF).
Returns* — The deserialized object.
|
Throws
EOFError — There is insufficient data available
to read. If a local SWF file triggers a security warning,
Flash Player prevents the URLStream data from being available to ActionScript.
When this happens, the bytesAvailable property returns 0 even if data has been
received, and any of the read methods throws an EOFError exception.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
See also
readShort | () | method |
public function readShort():int
Runtime Versions: | AIR 1.0, |
Reads a signed 16-bit integer from the stream.
The returned value is in the range -32768...32767.
Returnsint — Value in the range -32768...32767.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readUnsignedByte | () | method |
public function readUnsignedByte():uint
Runtime Versions: | AIR 1.0, |
Reads an unsigned byte from the stream.
The returned value is in the range 0...255.
Returnsuint — Value in the range 0...255.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readUnsignedInt | () | method |
public function readUnsignedInt():uint
Runtime Versions: | AIR 1.0, |
Reads an unsigned 32-bit integer from the stream.
The returned value is in the range 0...4294967295.
Returnsuint — Value in the range 0...4294967295.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readUnsignedShort | () | method |
public function readUnsignedShort():uint
Runtime Versions: | AIR 1.0, |
Reads an unsigned 16-bit integer from the stream.
The returned value is in the range 0...65535.
Returnsuint — Value in the range 0...65535.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readUTF | () | method |
public function readUTF():String
Runtime Versions: | AIR 1.0, |
Reads a UTF-8 string from the stream. The string is assumed to be prefixed with an unsigned short indicating the length in bytes.
ReturnsString — A UTF-8 string.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
readUTFBytes | () | method |
public function readUTFBytes(length:uint):String
Runtime Versions: | AIR 1.0, |
Reads a sequence of length
UTF-8
bytes from the stream, and returns a string.
Parameters
length:uint — A sequence of UTF-8 bytes.
|
String — A UTF-8 string produced by the byte representation of characters of specified length.
|
Throws
EOFError —
This error applies to SWF content; it does not occur
in JavaScript code running in AIR.
| |
IOError — An I/O error occurred on the stream,
or the stream is not open.
|
complete | Event |
flash.events.Event
property Event.type =
flash.events.Event.COMPLETE
Runtime Versions: | AIR 1.0, |
Dispatched when data has loaded successfully.
TheEvent.COMPLETE
constant defines the value of the type
property of a complete
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The network object that has completed loading. |
httpResponseStatus | Event |
flash.events.HTTPStatusEvent
property HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Runtime Versions: | 1.0 1.0 |
Dispatched if a call to the URLStream.load()
method attempts to access data over HTTP
and Adobe AIR is able to detect and return the status code for the request.
If a URLStream object registers for an httpStatusEvent
event, error responses
are delivered as though they are content. So instead of dispatching an ioError
event, the URLStream dispatches progress
and complete
events as
the error data is loaded into the URLStream.
httpStatus
event, the httpResponseStatus
event is
delivered before any response data. Also, the httpResponseStatus
event includes
values for the responseHeaders
and responseURL
properties (which are
undefined for an httpStatus
event. Note that the httpResponseStatus
event
(if any) will be sent before (and in addition to) any complete
or error
event.
The HTTPStatusEvent.HTTP_RESPONSE_STATUS
constant defines the value of the
type
property of a httpResponseStatus
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
responseURL | The URL from which the response was returned. |
responseHeaders | The response headers that the response returned, as an array of URLRequestHeader objects. |
status | The HTTP status code returned by the server. |
target | The network object receiving an HTTP status code. |
See also
httpStatus | Event |
flash.events.HTTPStatusEvent
property HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Runtime Versions: | AIR 1.0, |
Dispatched if a call to URLStream.load()
attempts to access data over HTTP, and Adobe AIR
is able to detect and return the status code for the request. (Some browser environments
may not be able to provide this information.) Note that the httpStatus
(if any) will be sent before (and in addition to) any complete
or error
event.
HTTPStatusEvent.HTTP_STATUS
constant defines the value of the
type
property of a httpStatus
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
status | The HTTP status code returned by the server. |
target | The network object receiving an HTTP status code. |
See also
ioError | Event |
flash.events.IOErrorEvent
property IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Runtime Versions: | AIR 1.0, |
Dispatched when an input/output error occurs that causes a load operation to fail.
Defines the value of thetype
property of an ioError
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
errorID | A reference number associated with the specific error (AIR only). |
target | The network object experiencing the input/output error. |
text | Text to be displayed as an error message. |
See also
open | Event |
flash.events.Event
property Event.type =
flash.events.Event.OPEN
Runtime Versions: | AIR 1.0, |
Dispatched when a load operation starts.
TheEvent.OPEN
constant defines the value of the type
property of an open
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The network object that has opened a connection. |
See also
progress | Event |
flash.events.ProgressEvent
property ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Runtime Versions: | AIR 1.0, |
Dispatched when data is received as the download operation progresses. Data that has been received can be read immediately using the methods of the URLStream class.
Defines the value of thetype
property of a progress
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
bytesLoaded | The number of items or bytes loaded at the time the listener processes the event. |
bytesTotal | The total number of items or bytes that ultimately will be loaded if the loading process succeeds. |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The object reporting progress. |
See also
securityError | Event |
flash.events.SecurityErrorEvent
property SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Runtime Versions: | AIR 1.0, |
Dispatched if a call to URLStream.load()
attempts to load data from a server outside the security sandbox.
SecurityErrorEvent.SECURITY_ERROR
constant defines the value of the type
property of a securityError
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The network object reporting the security error. |
text | Text to be displayed as an error message. |
See also
Note: To test this example:
- Add the AIRAliases.js file to the project directory.
- Place a file named URLStreamExample.zip in the project directory
- Create an application descriptor file for the project, and test the project using ADL.
<html> <head> <script src="AIRAliases.js" /> <script> function init() { stream = new air.URLStream(); var request = new air.URLRequest("URLStreamExample.zip"); configureListeners(stream); try { stream.load(request); } catch (error) { air.trace("Unable to load requested URL."); } } function configureListeners(dispatcher) { dispatcher.addEventListener(air.Event.COMPLETE, completeHandler); dispatcher.addEventListener(air.HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(air.IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(air.Event.OPEN, openHandler); dispatcher.addEventListener(air.ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(air.SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); } function parseHeader() { air.trace("parseHeader"); air.trace("isCompressed: " + isCompressed()); air.trace("version: " + stream.readByte()); } function isCompressed() { return stream.readUTFBytes(3) == air.CompressionAlgorithm.ZLIB ; } function completeHandler(event) { air.trace("completeHandler: " + event); parseHeader(); } function openHandler(event) { air.trace("openHandler: " + event); } function progressHandler(event) { air.trace("progressHandler: " + event); } function securityErrorHandler(event) { air.trace("securityErrorHandler: " + event); } function httpStatusHandler(event) { air.trace("httpStatusHandler: " + event); } function ioErrorHandler(event) { air.trace("ioErrorHandler: " + event); } </script> </head> <body onload='init()'> </body> </html>
Thu Sep 29 2011, 02:34 AM -07:00