X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F06_net%2F00_XNet.js;h=7d6393c4be228b3e4553d86afaa50f303d6273b7;hb=326aa8b45801298cafb13d4fd367cd240cfc4abc;hp=a97d45ec70a3960a0e19971b3b5a2e9992ce3cf6;hpb=2956150a7c2798e60639b36d69b0c13f6b20a62a;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/06_net/00_XNet.js b/0.6.x/js/06_net/00_XNet.js index a97d45e..7d6393c 100644 --- a/0.6.x/js/06_net/00_XNet.js +++ b/0.6.x/js/06_net/00_XNet.js @@ -135,18 +135,20 @@ X[ 'Net' ] = X_EventDispatcher[ 'inherits' ]( return; }; + opt = X_Object_deepCopy( opt ); + opt.netType = type; + opt[ 'url' ] = url; + if( type === X_NET_TYPE_XHR ){ opt[ 'method' ] = opt[ 'method' ] || ( opt[ 'postdata' ] ? 'POST' : 'GET' ); // XDomain 不可 -> Flash, Gears, Silverlight, canUseGadget なら gadget に切替? // PUT DELETE UPDATE 不可 -> Flash, Gears, Silverlight, canUseGadget なら gadget に切替? + // xプロトコル な binary のロード -> gadget 内で proxyURL による XHR // or X_EVENT_ERROR - }; - - opt = X_Object_deepCopy( opt ); - opt.netType = type; - opt[ 'url' ] = url; + opt[ 'dataType' ] = opt[ 'dataType' ] || X_URL_getEXT( url ); + }; X_Pair_create( this, opt ); @@ -216,7 +218,7 @@ function X_NET_proxyDispatch( e ){ if( flag ){ // flag が立つ場合、これは中断 this[ 'dispatch' ]( X_EVENT_CANCELED ); this[ 'dispatch' ]( { type : X_EVENT_COMPLETE, 'lastEventType' : X_EVENT_CANCELED } ); - X_Pair_release( this ); + X_Pair_release( this ); }; break; case X_EVENT_PROGRESS : @@ -225,8 +227,7 @@ function X_NET_proxyDispatch( e ){ case X_EVENT_ERROR : if( e.status === 401 ){ - auth = X_Pair_get( this )[ 'auth' ]; - if( auth ){ + if( auth = X_Pair_get( this )[ 'auth' ] ){ X_Pair_get( auth ).onAuthError( auth ); }; }; @@ -270,7 +271,16 @@ function X_NET_shiftQueue(){ // TODO (xProtocol | method) & canUse -> gadget.io.makeRequset, flash // force 'gadget', 'flash' - X_NET_currentWrapper = X_NET_XHRWrapper || X_TEMP.X_Net_XHR_init(); + switch( X_NET_currentData[ 'test' ] ){ + case 'gadget' : + X_NET_currentWrapper = X_NET_GIMRWrapper || X_TEMP.X_Net_GIMR_init(); + break; + case 'flash' : + break; + default : + X_NET_currentWrapper = X_NET_XHRWrapper || X_TEMP.X_Net_XHR_init(); + }; + // OAuth2 if( auth = X_NET_currentData[ 'auth' ] ){