C_RestRequest.js 4.6 KB

123456
  1. // Licensed Materials - Property of IBM
  2. // IBM Cognos Products: cchl
  3. // (C) Copyright IBM Corp. 2003, 2016.
  4. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  5. function C_RestRequest(_cCB1, _cRK1, _cFU1, _cGS1){this._cDB1=_cCB1;this._cZP1=null;this._cJH1=null;this._cGU1=_cFU1;this._cQM1=_cRK1;this._cHS1=_cGS1;this._c6Z=null;};C_RestRequest.prototype.F_GetListener=function(){return this._cDB1;};C_RestRequest.prototype.F_SetListener=function(_cCB1){this._cDB1=_cCB1;};C_RestRequest.prototype.F_SetNewError=function(_c0U,_c2U,_cR51){this._cZP1=new C_Error( _c0U?_c0U:"Rest request failed.", _c2U, _cR51 );};C_RestRequest.prototype.F_SetNewErrorRes=function(_cEH,_c2U,_cR51){this.F_SetNewError(window["G_ResManager"]?G_ResManager.F_GetString(_cEH):null, _c2U, _cR51);};C_RestRequest.prototype.F_SetError=function(_cPN1){this._cZP1=_cPN1;};C_RestRequest.prototype.F_GetError=function(){return this._cZP1;};C_RestRequest.prototype.F_SetContext=function(_c0J1){this._cJH1=_c0J1;};C_RestRequest.prototype.F_GetContext=function(){return this._cJH1;};C_RestRequest.prototype.F_Send=function(){var _cZK={};if(G_BusServer.F_GetAuthenticityToken()){_cZK['authenticityToken']=G_BusServer.F_GetAuthenticityToken(); }if(G_BusServer.F_GetRoutingServerGroup()){_cZK['routingServerGroup']=G_BusServer.F_GetRoutingServerGroup();}if(G_BusServer.F_GetCafContextId()){_cZK['cafContextId']=G_BusServer.F_GetCafContextId();}var _cSI=window["G_UserDataSettings"]?G_UserDataSettings.F_GetValue("UseReportService"):C_BusRequest.M_bUseReportServiceSoapRelay;if(G_BusServer.M_bUseReportServiceConsumerMode&&_cSI){_cZK['X-UseRsConsumerMode'] = 'true';}var _cFG1={"dataType": "json","type":this._cQM1,"contentType": 'application/json; charset=utf-8',"url":this._cGU1,"data":this._cHS1,"headers":_cZK};this._c7P(_cFG1); Application.GlassView.glassContext.services.ajax.ajax(_cFG1).done(this._cFH.bind(this)).fail(this._cW7.bind(this));};C_RestRequest.prototype._c7P=function(_cFG1){this._c6Z=G_JSON.stringify(_cFG1);};C_RestRequest.prototype.F_GetRequestBody=function(){return this._c6Z;};C_RestRequest.prototype.F_ProcessResponse=function(){};C_RestRequest.prototype.F_GetResponseData=function(){return this._cDS;};C_RestRequest.prototype._cFH=function(_cCS,_cRM1,_cHU1){this._cDS=_cCS;this._cEU1=_cHU1;this._cZ1();};C_RestRequest.prototype._cW7=function(_cRM1,_cHU1,_c7Z){this._cEU1=_cHU1;var _cOQ=this.F_GetResponseText();if(!this.F_IsSuccessStatus()){var _cR51=this.F_GetStatus();var _c2U=null;var _c8P=null;if(_cOQ){var _c1J1=_cOQ.indexOf("}\r\n",1);if(_cOQ.indexOf("{")==0){if(_c1J1>1){try {var _cD91=G_JSON.parse(_cOQ.substring(0, _c1J1+1));if(_cD91&&_cD91.messages&&_cD91.messages.length){var _c341= new RegExp("^([A-Z]{2,3}-[A-Z]{2,3}-[0-9]{4}\\s)");var _cCL1=_cD91.messages[0].match(_c341);if(_cCL1!==null&&_cCL1.length){_cR51=_cD91.messages[0].substring(0, _cCL1[0].length);_cD91.messages[0]=_cD91.messages[0].substring(_cCL1[0].length);}else if(_cD91.errorCode){_cR51=_cD91.errorCode;}_c8P=_cD91.messages[0];_c2U="";if(_cD91.messages.length>1){for(var i=1; i<_cD91.messages.length; i++){_c2U+= _cD91.messages[i];_c2U+= "\n";}}_c2U+= _cOQ.substring(_c1J1+3);}}catch(e){}} else {try {var _cD91=G_JSON.parse(_cOQ);if(_cD91&&_cD91.msg&&_cD91.msg.length){_c8P=_cD91.msg;_c2U=_cD91.exceptionMsg;} else {}}catch(e){} }}if(!_c2U){_c2U=_cR51+" - " + this.F_GetStatusText() + "\n" + "URL: " + this.F_GetUrl(); _c2U+= "\n";_c2U+= _cOQ;}if(_c8P){this.F_SetNewError(_c8P, _c2U, _cR51);} else {this.F_SetNewErrorRes("IDS_CCHL_REST_REQUEST_FAILED", _c2U, _cR51);}}}this._cZ1();};C_RestRequest.prototype.M_iResponseDelay=0;C_RestRequest.prototype._cZ1=function(){if(this.M_iResponseDelay){setTimeout(this._cX7.bind(this), this.M_iResponseDelay);return;}this._cX7();};C_RestRequest.prototype._cX7=function(){if(this._c2J1){return;}this.F_ProcessResponse();this._cEC1("F_Request_OnComplete");};C_RestRequest.prototype._cEC1=function(_cOO1){if(this._cDB1&&this._cDB1[_cOO1]){this._cDB1[_cOO1](this);}};C_RestRequest.prototype.F_Abort=function(){this._c2J1=true;this.F_SetListener(null);this._cEC1("F_Request_OnAborted");};C_RestRequest.prototype.F_IsSuccessStatus=function(){var _cSM1=this.F_GetStatus();return((_cSM1>=200)&&(_cSM1<300));};C_RestRequest.prototype.F_GetStatus=function(){return this._cEU1?U_DOM.F_GetPropertyInTryCatch(this._cEU1, "status"):null;};C_RestRequest.prototype.F_GetStatusText=function(){return this._cEU1?U_DOM.F_GetPropertyInTryCatch(this._cEU1, "statusText"):null;};C_RestRequest.prototype.F_GetUrl=function(){return this._cGU1;};C_RestRequest.prototype.F_GetResponseText=function(){return this._cEU1?this._cEU1.responseText:null;};