add optional http headers for POSTing QTEs (to deal with csrf)
This commit is contained in:
parent
b816a45b4d
commit
cf425b27c5
|
@ -4,6 +4,7 @@ package
|
||||||
import flash.events.EventDispatcher;
|
import flash.events.EventDispatcher;
|
||||||
import flash.net.sendToURL;
|
import flash.net.sendToURL;
|
||||||
import flash.net.URLRequest;
|
import flash.net.URLRequest;
|
||||||
|
import flash.net.URLRequestHeader;
|
||||||
import flash.net.URLRequestMethod;
|
import flash.net.URLRequestMethod;
|
||||||
import flash.net.URLVariables;
|
import flash.net.URLVariables;
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +18,7 @@ package
|
||||||
|
|
||||||
public var urlVideo:String;
|
public var urlVideo:String;
|
||||||
public var urlPostQte:String;
|
public var urlPostQte:String;
|
||||||
|
public var headerPostQte:Object;
|
||||||
public var typeVideotube:String;
|
public var typeVideotube:String;
|
||||||
public var rgqte:Array;
|
public var rgqte:Array;
|
||||||
public function Gamedisc(urlVideo:String = null, typeVideotube:String = null)
|
public function Gamedisc(urlVideo:String = null, typeVideotube:String = null)
|
||||||
|
@ -32,6 +34,8 @@ package
|
||||||
{
|
{
|
||||||
var req:URLRequest = new URLRequest(urlPostQte);
|
var req:URLRequest = new URLRequest(urlPostQte);
|
||||||
req.method = URLRequestMethod.POST;
|
req.method = URLRequestMethod.POST;
|
||||||
|
for (var key:String in headerPostQte)
|
||||||
|
req.requestHeaders.push(new URLRequestHeader(key, headerPostQte[key]));
|
||||||
var data:URLVariables = new URLVariables();
|
var data:URLVariables = new URLVariables();
|
||||||
data.qte = JSON.encode(qte.ToJson());
|
data.qte = JSON.encode(qte.ToJson());
|
||||||
req.data = data;
|
req.data = data;
|
||||||
|
@ -56,7 +60,7 @@ package
|
||||||
json.urlPostQte = urlPostQte;
|
json.urlPostQte = urlPostQte;
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
public function FromJson(json:Object):void
|
public function FromJson(json:Object, jsonPostHeaders:Object):void
|
||||||
{
|
{
|
||||||
rgqte = [];
|
rgqte = [];
|
||||||
for each (var jsonQte:Object in json.rgqte)
|
for each (var jsonQte:Object in json.rgqte)
|
||||||
|
@ -68,6 +72,7 @@ package
|
||||||
urlVideo = json.urlVideo;
|
urlVideo = json.urlVideo;
|
||||||
typeVideotube = json.typeVideotube;
|
typeVideotube = json.typeVideotube;
|
||||||
urlPostQte = json.urlPostQte;
|
urlPostQte = json.urlPostQte;
|
||||||
|
headerPostQte = jsonPostHeaders;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ package
|
||||||
public function Main():void
|
public function Main():void
|
||||||
{
|
{
|
||||||
gamedisc = new Gamedisc();
|
gamedisc = new Gamedisc();
|
||||||
gamedisc.FromJson(JSON.decode(loaderInfo.parameters.jsonDisc));
|
gamedisc.FromJson(JSON.decode(loaderInfo.parameters.jsonDisc), JSON.decode(loaderInfo.parameters.jsonPostHeaders));
|
||||||
videotube = gamedisc.CreateVideotube();
|
videotube = gamedisc.CreateVideotube();
|
||||||
if (stage) init();
|
if (stage) init();
|
||||||
else addEventListener(Event.ADDED_TO_STAGE, init);
|
else addEventListener(Event.ADDED_TO_STAGE, init);
|
||||||
|
@ -66,11 +66,13 @@ package
|
||||||
private function onVideotubeReady(event:Event = null):void
|
private function onVideotubeReady(event:Event = null):void
|
||||||
{
|
{
|
||||||
toggleGame();
|
toggleGame();
|
||||||
|
if (gamedisc.urlPostQte == null)
|
||||||
|
toggleGame();
|
||||||
videotube.play();
|
videotube.play();
|
||||||
}
|
}
|
||||||
private function onKey(key:KeyboardEvent):void
|
private function onKey(key:KeyboardEvent):void
|
||||||
{
|
{
|
||||||
if (key.keyCode == Keyboard.SPACE)
|
if (key.keyCode == Keyboard.SPACE && gamedisc.urlPostQte != null)
|
||||||
toggleGame();
|
toggleGame();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package
|
package
|
||||||
{
|
{
|
||||||
|
import com.adobe.serialization.json.JSON;
|
||||||
|
import flash.external.ExternalInterface;
|
||||||
/**
|
/**
|
||||||
* ...
|
* ...
|
||||||
* @author jjp
|
* @author jjp
|
||||||
|
@ -23,6 +25,10 @@ package
|
||||||
}
|
}
|
||||||
return -imin;
|
return -imin;
|
||||||
}
|
}
|
||||||
|
public static function alert(...rgo:*):void
|
||||||
|
{
|
||||||
|
ExternalInterface.call("alert", JSON.encode(rgo));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue