//>>built
define("dojox/wire/ml/RestHandler",["dijit","dojo","dojox","dojo/require!dojox/wire/_base,dojox/wire/ml/util"],function(_1,_2,_3){
_2.provide("dojox.wire.ml.RestHandler");
_2.require("dojox.wire._base");
_2.require("dojox.wire.ml.util");
_2.declare("dojox.wire.ml.RestHandler",null,{contentType:"text/plain",handleAs:"text",bind:function(_4,_5,_6,_7){
_4=_4.toUpperCase();
var _8=this;
var _9={url:this._getUrl(_4,_5,_7),contentType:this.contentType,handleAs:this.handleAs,headers:this.headers,preventCache:this.preventCache};
var d=null;
if(_4=="POST"){
_9.postData=this._getContent(_4,_5);
d=_2.rawXhrPost(_9);
}else{
if(_4=="PUT"){
_9.putData=this._getContent(_4,_5);
d=_2.rawXhrPut(_9);
}else{
if(_4=="DELETE"){
d=_2.xhrDelete(_9);
}else{
d=_2.xhrGet(_9);
}
}
}
d.addCallbacks(function(_a){
_6.callback(_8._getResult(_a));
},function(_b){
_6.errback(_b);
});
},_getUrl:function(_c,_d,_e){
var _f;
if(_c=="GET"||_c=="DELETE"){
if(_d.length>0){
_f=_d[0];
}
}else{
if(_d.length>1){
_f=_d[1];
}
}
if(_f){
var _10="";

for(var _11 in _f){
var _12=_f[_11];
if(_12){
_12=encodeURIComponent(_12);
var _13="{"+_11+"}";
var _14=_e.indexOf(_13);
if(_14>=0){
_e=_e.substring(0,_14)+_12+_e.substring(_14+_13.length);
}else{
if(_10){
_10+="&";
}
_10+=(_11+"="+_12);
}
}
}
if(_10){
_e+="?"+_10;
}
}
return _e;
},_getContent:function(_15,_16){
if(_15=="POST"||_15=="PUT"){
return (_16?_16[0]:null);
}else{
return null;
}
},_getResult:function(_17){
return _17;
}});
});