diff --git a/haxework/net/BaseLoader.hx b/haxework/net/BaseLoader.hx index 1d1ab99..b114360 100755 --- a/haxework/net/BaseLoader.hx +++ b/haxework/net/BaseLoader.hx @@ -13,11 +13,12 @@ class BaseLoader implements ILoader { private static inline var TAG:String = "Loader"; public static var urlProcessors(default, null):ArrayString> = new ArrayString>(); - public static function prepareUrl(url:String):String { for (p in urlProcessors) url = p(url); return url; }; + public static function prepareUrl(url:String):String { for (p in urlProcessors) url = p(url); return url; } public var busy(default, null):Bool; private var url:String; + private var method:Method; private var data:Null; private var callback:ICallback; @@ -29,6 +30,7 @@ class BaseLoader implements ILoader { if (busy) throw "Busy"; busy = true; this.url = url; + this.method = method; this.data = data; callback = new Callback(); var url:String = this.url; @@ -95,7 +97,15 @@ class BaseLoader implements ILoader { } public function run():Void { - internalRequest(prepareUrl(url)); + var u:String = url; + if (data != null && method == Method.GET) { + var a:Array = []; + for (key in Reflect.fields(data)) { + a.push(key + "=" + Reflect.field(data, key)); + } + u += "?" + a.join("&"); + } + internalRequest(prepareUrl(u)); } } diff --git a/haxework/net/BaseURLLoader.hx b/haxework/net/BaseURLLoader.hx index 0bf8c55..603baee 100755 --- a/haxework/net/BaseURLLoader.hx +++ b/haxework/net/BaseURLLoader.hx @@ -1,5 +1,6 @@ package haxework.net; +import haxework.net.ILoader.Method; import flash.net.URLLoaderDataFormat; import flash.events.SecurityErrorEvent; import flash.events.IOErrorEvent; @@ -20,7 +21,6 @@ class BaseURLLoader extends BaseLoader { override private function internalRequest(url:String):Void { loader = buildLoader(); var request:URLRequest = new URLRequest(url); - if (data != null) request.data = data; loader.load(request); }