supported DELETE method
This commit is contained in:
@@ -7,6 +7,7 @@ class LabelView extends TextView {
|
||||
public function new() {
|
||||
super();
|
||||
textField.selectable = false;
|
||||
textField.wordWrap = false;
|
||||
textField.autoSize = TextFieldAutoSize.LEFT;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package haxework.gui;
|
||||
|
||||
import flash.display.Graphics;
|
||||
import flash.display.Sprite;
|
||||
|
||||
class SpriteView extends View<Sprite> {
|
||||
@@ -7,4 +8,12 @@ class SpriteView extends View<Sprite> {
|
||||
public function new() {
|
||||
super(new Sprite());
|
||||
}
|
||||
|
||||
/*override public function update():Void {
|
||||
super.update();
|
||||
var g:Graphics = content.graphics;
|
||||
g.lineStyle(1, 0x00ff00);
|
||||
g.drawRect(0, 0, width, height);
|
||||
g.lineStyle();
|
||||
}*/
|
||||
}
|
||||
@@ -20,6 +20,8 @@ class TextView extends SpriteView implements ITextView<Sprite, TextField> {
|
||||
public function new() {
|
||||
super();
|
||||
textField = new TextField();
|
||||
textField.width = 1;
|
||||
textField.height = 1;
|
||||
textField.wordWrap = true;
|
||||
textFormat = textField.defaultTextFormat;
|
||||
textFormat.font = "Arial";
|
||||
|
||||
@@ -58,8 +58,8 @@ class View<C:Content> implements IView<C> {
|
||||
this.content = content;
|
||||
x = 0;
|
||||
y = 0;
|
||||
width = 100;
|
||||
height = 100;
|
||||
width = 1;
|
||||
height = 1;
|
||||
margins = 0;
|
||||
vAlign = VAlign.NONE;
|
||||
hAlign = HAlign.NONE;
|
||||
@@ -83,12 +83,12 @@ class View<C:Content> implements IView<C> {
|
||||
public function update():Void {
|
||||
content.x = x;
|
||||
content.y = y;
|
||||
var skin:ISkin<C, IView<C>> = currentSkin();
|
||||
if (contentSize && skin != null && Std.is(skin, ISize)) {
|
||||
var size:ISize = cast(skin, ISize);
|
||||
if (!Math.isNaN(size.width)) width = size.width;
|
||||
if (!Math.isNaN(size.height)) height = size.height;
|
||||
}
|
||||
var skin:ISkin<C, IView<C>> = currentSkin();
|
||||
if (skin != null) skin.draw(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package haxework.net;
|
||||
|
||||
import flash.net.URLRequestMethod;
|
||||
import flash.events.ProgressEvent;
|
||||
import haxework.net.manage.ILoaderManager;
|
||||
import haxework.provider.Provider;
|
||||
@@ -7,7 +8,6 @@ import flash.utils.ByteArray;
|
||||
import haxework.net.callback.Callback;
|
||||
import haxework.net.callback.ICallback;
|
||||
import flash.events.Event;
|
||||
import haxework.net.ILoader.Method;
|
||||
|
||||
class BaseLoader<T> implements ILoader<T> {
|
||||
|
||||
@@ -22,7 +22,7 @@ class BaseLoader<T> implements ILoader<T> {
|
||||
public var completed(default, null):Float;
|
||||
|
||||
private var url:String;
|
||||
private var method:Method;
|
||||
private var method:String;
|
||||
private var data:Null<Dynamic>;
|
||||
private var callback:ICallback<T>;
|
||||
|
||||
@@ -31,7 +31,7 @@ class BaseLoader<T> implements ILoader<T> {
|
||||
completed = Math.NaN;
|
||||
}
|
||||
|
||||
public function request(url:String, method:Method, data:Dynamic = null):ICallback<T> {
|
||||
public function request(url:String, method:String, data:Dynamic = null):ICallback<T> {
|
||||
if (busy) throw "Busy";
|
||||
busy = true;
|
||||
this.url = url;
|
||||
@@ -54,11 +54,15 @@ class BaseLoader<T> implements ILoader<T> {
|
||||
}
|
||||
|
||||
public function GET(url:String, data:Dynamic = null):ICallback<T> {
|
||||
return request(url, Method.GET, data);
|
||||
return request(url, URLRequestMethod.GET, data);
|
||||
}
|
||||
|
||||
public function POST(url:String, data:Dynamic = null):ICallback<T> {
|
||||
return request(url, Method.POST, data);
|
||||
return request(url, URLRequestMethod.POST, data);
|
||||
}
|
||||
|
||||
public function DELETE(url:String, data:Dynamic = null):ICallback<T> {
|
||||
return request(url, URLRequestMethod.DELETE, data);
|
||||
}
|
||||
|
||||
private function internalRequest(url:String):Void {
|
||||
@@ -108,7 +112,7 @@ class BaseLoader<T> implements ILoader<T> {
|
||||
|
||||
public function run():Void {
|
||||
var u:String = url;
|
||||
if (data != null && method == Method.GET) {
|
||||
if (data != null && method == URLRequestMethod.GET) {
|
||||
var a:Array<String> = [];
|
||||
for (key in Reflect.fields(data)) {
|
||||
a.push(key + "=" + Reflect.field(data, key));
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package haxework.net;
|
||||
|
||||
import flash.net.URLRequestHeader;
|
||||
import flash.net.URLRequestMethod;
|
||||
import haxework.net.callback.ICallback;
|
||||
import flash.net.URLVariables;
|
||||
import flash.events.ProgressEvent;
|
||||
import haxework.net.ILoader.Method;
|
||||
import flash.net.URLLoaderDataFormat;
|
||||
import flash.events.SecurityErrorEvent;
|
||||
import flash.events.IOErrorEvent;
|
||||
@@ -24,8 +25,13 @@ class BaseURLLoader<T> extends BaseLoader<T> {
|
||||
override private function internalRequest(url:String):Void {
|
||||
loader = buildLoader();
|
||||
var request:URLRequest = new URLRequest(url);
|
||||
request.method = Std.string(method);
|
||||
if (data != null && method == Method.POST) {
|
||||
if (method != URLRequestMethod.POST && method != URLRequestMethod.GET) {
|
||||
request.method = URLRequestMethod.POST;
|
||||
request.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", method));
|
||||
} else {
|
||||
request.method = method;
|
||||
}
|
||||
if (data != null && method == URLRequestMethod.POST) {
|
||||
var variables:URLVariables = new URLVariables();
|
||||
for (key in Reflect.fields(data)) {
|
||||
Reflect.setField(variables, key, Reflect.field(data, key));
|
||||
|
||||
@@ -2,7 +2,6 @@ package haxework.net;
|
||||
|
||||
import haxework.net.callback.Callback;
|
||||
import haxework.net.callback.ICallback;
|
||||
import haxework.net.ILoader.Method;
|
||||
import flash.events.Event;
|
||||
import flash.net.URLLoader;
|
||||
|
||||
|
||||
@@ -3,19 +3,15 @@ package haxework.net;
|
||||
import flash.utils.ByteArray;
|
||||
import haxework.net.callback.ICallback;
|
||||
|
||||
enum Method {
|
||||
GET;
|
||||
POST;
|
||||
}
|
||||
|
||||
interface ILoader<T> {
|
||||
public var busy(default, null):Bool;
|
||||
public var completed(default, null):Float;
|
||||
|
||||
public function request(url:String, method:Method, data:Dynamic = null):ICallback<T>;
|
||||
public function request(url:String, method:String, data:Dynamic = null):ICallback<T>;
|
||||
public function fromBytes(data:ByteArray):ICallback<T>;
|
||||
public function GET(url:String, data:Dynamic = null):ICallback<T>;
|
||||
public function POST(url:String, data:Dynamic = null):ICallback<T>;
|
||||
public function DELETE(url:String, data:Dynamic = null):ICallback<T>;
|
||||
public function cancel():Void;
|
||||
|
||||
public function run():Void;
|
||||
|
||||
@@ -9,15 +9,15 @@ class Provider {
|
||||
private static var instances:ObjectMap<Dynamic, Dynamic> = new ObjectMap<Dynamic, Dynamic>();
|
||||
|
||||
public static function setFactory<T>(i:Class<T>, clazz:Class<T>, ?type:Dynamic):Void {
|
||||
factories.set(type == null ? i : type, clazz);
|
||||
factories.set(type == null ? i : i + type, clazz);
|
||||
}
|
||||
|
||||
public static function set<T>(i:Class<T>, instance:T, ?type:Dynamic):Void {
|
||||
instances.set(type == null ? i : type, instance);
|
||||
instances.set(type == null ? i : i + type, instance);
|
||||
}
|
||||
|
||||
public static function get<T>(i:Class<T>, ?type:Dynamic):T {
|
||||
var key:Dynamic = (type == null) ? i : type;
|
||||
var key:Dynamic = (type == null) ? i : i + type;
|
||||
if (instances.exists(key)) {
|
||||
return instances.get(key);
|
||||
} else if (factories.exists(key)) {
|
||||
|
||||
Reference in New Issue
Block a user