classes
TwitterLoggerAdvanced.as
Stiahnuť TwitterLoggerAdvanced.as
package sk.yoz.net
{
import com.twitter.api.events.TwitterEvent;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLVariables;
import sk.yoz.events.TwitterLoggerAdvancedEvent;
public class TwitterLoggerAdvanced extends TwitterLogger
{
protected var _rawProxyURL:String;
protected var _variables:URLVariables;
public function TwitterLoggerAdvanced(connectorURL:String,
proxyURL:String, rawProxyURL:String)
{
super(connectorURL, proxyURL);
protected::rawProxyURL = rawProxyURL;
}
public function get rawProxyURL():String
{
return _rawProxyURL;
}
protected function set rawProxyURL(value:String):void
{
_rawProxyURL = value;
}
public function call(method:Function, argArray:Array,
useRawProxy:Boolean = true, variables:URLVariables = null):void
{
_variables = variables;
if(useRawProxy)
changeLoaders(public::rawProxyURL);
method.apply(this, argArray);
if(useRawProxy)
changeLoaders(public::proxyURL);
_variables = null;
}
protected function changeLoaders(url:String):void
{
for each(var loader:TwitterProxyLoader in loaders)
loader.proxyURL = url;
}
override protected function twitterRequest(url:String):URLRequest
{
var request:URLRequest = super.twitterRequest(url);
if(_variables)
{
var data:Object = request.data || new URLVariables();
for(var key:String in _variables)
data[key] = _variables[key];
request.data = data;
}
return request;
}
override protected function universalCompleteHandler(event:Event):void
{
super.universalCompleteHandler(event);
var loader:TwitterProxyLoader = TwitterProxyLoader(event.target);
try
{
var data:XML = XML(loader.data);
var errorString:String = data.error.toString();
if(errorString)
dispatchEvent(new TwitterLoggerAdvancedEvent(
TwitterLoggerAdvancedEvent.AUTHENTICATION_ERROR,
false, false, errorString));
}
catch(error:Error){}
}
}
}