55 lines
1.5 KiB
Haxe
Executable File
55 lines
1.5 KiB
Haxe
Executable File
package com.abit.haxework.net;
|
|
|
|
import flash.net.URLLoaderDataFormat;
|
|
import flash.events.SecurityErrorEvent;
|
|
import com.abit.haxework.net.callback.Callback;
|
|
import com.abit.haxework.net.callback.ICallback;
|
|
import flash.events.IOErrorEvent;
|
|
import flash.net.URLRequest;
|
|
import flash.events.Event;
|
|
import flash.net.URLLoader;
|
|
import com.abit.haxework.net.ILoader.Method;
|
|
|
|
class BaseURLLoader<T> extends BaseLoader<T> {
|
|
|
|
private var dataFormat:URLLoaderDataFormat;
|
|
private var loader:URLLoader;
|
|
|
|
public function new() {
|
|
super();
|
|
dataFormat = URLLoaderDataFormat.TEXT;
|
|
}
|
|
|
|
override private function internalRequest():Void {
|
|
loader = buildLoader();
|
|
loader.load(new URLRequest(url));
|
|
}
|
|
|
|
private function buildLoader():URLLoader {
|
|
var loader:URLLoader = new URLLoader();
|
|
loader.dataFormat = dataFormat;
|
|
loader.addEventListener(Event.COMPLETE, onComplete);
|
|
loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
|
|
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
|
|
return loader;
|
|
}
|
|
|
|
override private function dispose():Void {
|
|
super.dispose();
|
|
if (loader != null) {
|
|
loader.removeEventListener(Event.COMPLETE, onComplete);
|
|
loader.removeEventListener(IOErrorEvent.IO_ERROR, onError);
|
|
loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
|
|
loader = null;
|
|
}
|
|
}
|
|
|
|
override public function cancel():Void {
|
|
if (loader != null) {
|
|
try {loader.close();} catch (error:Dynamic) {}
|
|
}
|
|
super.cancel();
|
|
}
|
|
}
|
|
|