Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/pull/jsonrpc/dist/ |
Upload File : |
this.BX=this.BX||{};(function(e){"use strict";function r(e){return e===""?true:e?typeof e==="string"||e instanceof String:false}function s(e){return e&&Object.prototype.toString.call(e)==="[object Array]"}function t(e){return r(e)?e.length>0:false}function n(e){return typeof e==="object"&&e&&"jsonrpc"in e&&t(e.jsonrpc)&&"method"in e&&t(e.method)}function o(e){return typeof e==="object"&&e&&"jsonrpc"in e&&t(e.jsonrpc)&&"id"in e&&("result"in e||"error"in e)}class i extends Error{constructor(e){super(e);this.name="ErrorNotConnected"}}class c extends Error{constructor(e){super(e);this.name="ErrorTimeout"}}const a="2.0";const d={Parse:{code:-32700,message:"Parse error"},InvalidRequest:{code:-32600,message:"Invalid Request"},MethodNotFound:{code:-32601,message:"Method not found"},InvalidParams:{code:-32602,message:"Invalid params"},Internal:{code:-32603,message:"Internal error"}};class u extends EventTarget{constructor(e){super();this.idCounter=0;this.handlers={};this.rpcResponseAwaiters=new Map;this.sender=e.sender;for(const r of Object.keys(e.handlers||{})){this.handle(r,e.handlers[r])}for(const r of Object.keys(e.events||{})){this.addEventListener(r,e.events[r])}}handle(e,r){this.handlers[e]=r}executeOutgoingRpcCommand(e,r,s=5){return new Promise(((t,n)=>{const o=this.createRequest(e,r);if(this.sender.send(JSON.stringify(o))===false){n(new i("send failed"))}if(s>0){const e=setTimeout((()=>{this.rpcResponseAwaiters.delete(o.id);n(new c("no response"))}),s*1e3);this.rpcResponseAwaiters.set(o.id,{resolve:t,reject:n,timeout:e})}else{t()}}))}executeOutgoingRpcBatch(e){const r=[];const s=[];e.forEach((({method:e,params:t,id:n})=>{const o=this.createRequest(e,t,n);r.push(o);s.push(new Promise(((e,r)=>{this.rpcResponseAwaiters.set(o.id,{resolve:e,reject:r})})))}));this.sender.send(JSON.stringify(r));return s}processRpcResponse(e){if("id"in e&&this.rpcResponseAwaiters.has(e.id)){const r=this.rpcResponseAwaiters.get(e.id);if("result"in e){r.resolve(e.result)}else if("error"in e){r.reject(e.error)}else{r.reject(new Error("wrong response structure"))}clearTimeout(r.timeout);this.rpcResponseAwaiters.delete(e.id)}else{this.dispatchEvent(new CustomEvent("error",{error:new Error(`received rpc response with unknown id ${e}`)}))}}async handleIncomingMessage(e){let r={};try{r=JSON.parse(e)}catch(e){throw new Error(`could not decode json rpc message: ${e}`)}if(s(r)){this.executeIncomingRpcBatch(r)}else if(n(r)){const e=await this.executeIncomingRpcCommand(r);if(e!==null&&e!==undefined){const s=e.error?this.createErrorResponse(r.id,e.error):this.createResponse(r.id,e);this.sender.send(JSON.stringify(s))}else{this.sender.send(JSON.stringify(this.createResponse(r.id,null)))}}else if(o(r)){this.processRpcResponse(r)}else{throw new Error(`unknown rpc packet: ${r}`)}}async executeIncomingRpcCommand({method:e,params:r}){if(e in this.handlers){try{return this.handlers[e].call(this,r)}catch(e){return{jsonrpc:"2.0",error:e.toString()}}}return{error:d.MethodNotFound}}async executeIncomingRpcBatch(e){const r=[];for(const s of e){if("jsonrpc"in s){if("method"in s){const e=this.executeIncomingRpcCommand(s);if(e){e.jsonrpc=a;e.id=s.id;r.push(e)}}else{this.processRpcResponse(s)}}else{this.dispatchEvent(new CustomEvent("error",{error:new Error(`unknown rpc command in batch: ${s}`)}));r.push({jsonrpc:"2.0",error:d.InvalidRequest})}}return r}nextId(){this.idCounter++;return this.idCounter}createPublishRequest(e){const r=e.map((e=>this.createRequest("publish",e)));if(r.length===0){return r[0]}return r}createRequest(e,r,s){return{jsonrpc:a,method:e,params:r,id:s!=null?s:this.nextId()}}createResponse(e,r){return{jsonrpc:a,id:e,result:r}}createErrorResponse(e,r){return{jsonrpc:a,id:e,error:r}}}e.RpcError=d;e.JsonRpc=u})(this.BX.Pull=this.BX.Pull||{}); //# sourceMappingURL=pull.jsonrpc.bundle.map.js