タイトル募集中3.0

しがないITソルジャーの雑記。

作りかけ

URLRequestを少しだけ使いやすくする.
Webサービスとか使うなら結構リクエストを投げたりするから,ファサードのようなものを作成する.あくまで少し作業をましにする程度.
なんといううんこ.公開するのがためらわれたが,やったことは公開していくと決めたので,晒す.ヽ(´Д`ヽ)(/´Д`)/イヤァァァ〜

var request:SimpleURLRequest = new SimpleURLRequest("http://hogehoge/hoge.xml");
request.FileLoad();

or

var request:SimpleURLRequest = new SimpleURLRequest("http://hogehoge/hoge.cgi");
request.RequestMethod("POST");

のように使う?まだどうするか決めてない.
URLVariablesもどうするかなぁ,引数にするか・・・.今は直書き.
得たデータはどうやって取得しようかな.returnで返すか?今は,completeHandlerでtraceしてるだけ.

package hoge.hoge 
{
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.*;

    public class SimpleURLRequest
    {
	private var request:URLRequest;
        private var loader:URLLoader;

        public function SimpleURLRequest(sUrl:String) 
        {
            request = new URLRequest(sUrl);
            loader = new URLLoader();
            configureListeners(loader);      
        }

        public function FileLoad():void
        {
            try {
                loader.load(request);
            } catch (error:Error) {
		//
            }
	}
		
        public function RequestMethod(sMethod:String):void
        {
            var variables:URLVariables = new URLVariables();
            variables.data = "hogeeeeee";
            request.data = variables;
            request.method = sMethod;

            try {
                loader.load(request);
            } catch (error:Error) {
                //
            }
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        }
        private function completeHandler(event:Event):void {
            var loader:URLLoader = URLLoader(event.target);
            trace("completeHandler: " + loader.data);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
    }
}