 	{
 		WeaveAPI.ProgressIndicator.removeTask(this);
 		_isClosed = true;
-		try {
+		try {
 			super.close();
 		} catch (e:Error) { } // ignore close() errors
 	}

		 */
		public function getURL(request:URLRequest, asyncResultHandler:Function = null, asyncFaultHandler:Function = null, token:Object = null, dataFormat:String = "binary"):URLLoader
		{
			var urlLoader:CustomURLLoader = new CustomURLLoader(request, dataFormat);
			urlLoader.addResponder(new AsyncResponder(asyncResultHandler || noOp, asyncFaultHandler || noOp, token));
			return urlLoader;
		}
		


internal class CustomURLLoader extends URLLoader
{
	public function CustomURLLoader(request:URLRequest, dataFormat:String, loadNow:Boolean = true)
	{
		_urlRequest = request;
		this.dataFormat = dataFormat;
		
		if (loadNow)
		{
			// keep track of pending requests
			WeaveAPI.ProgressIndicator.addTask(this);
			addResponder(new AsyncResponder(removePendingRequest, removePendingRequest));
			
			// set up event listeners
			addEventListener(Event.COMPLETE, handleGetResult);
			addEventListener(IOErrorEvent.IO_ERROR, handleGetError);
			addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError);
			addEventListener(ProgressEvent.PROGRESS, handleProgressUpdate);
			
			super.load(request);
		}
	}
	
	private var _asyncToken:AsyncToken = new AsyncToken();
