403Webshell
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/client/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/pull/client/dist/pull.client.min.js
(function(e,t,s,i){"use strict";const n=19;const r={WebSocket:"webSocket",LongPolling:"longPolling"};const o={Online:"online",Offline:"offline",Connecting:"connect"};const a={Unknown:0,Client:1,Backend:2};const l={Server:"server",Client:"client",Online:"online",Status:"status",Revision:"revision"};const c={NORMAL_CLOSURE:1e3,SERVER_DIE:1001,CONFIG_REPLACED:3e3,CHANNEL_EXPIRED:3001,SERVER_RESTARTED:3002,CONFIG_EXPIRED:3003,MANUAL:3004,STUCK:3005,BACKEND_ERROR:3006,WRONG_CHANNEL_ID:4010};const d={Shared:"shared",Personal:"personal"};function u(e){return e===""?true:e?typeof e==="string"||e instanceof String:false}function h(e){return e&&Object.prototype.toString.call(e)==="[object Array]"}function p(e){return e&&typeof e==="object"&&"nodeType"in e}function g(e){return e&&Object.prototype.toString.call(e)==="[object Date]"}function f(e){return Boolean(e)&&typeof e==="object"&&e.constructor===Object}function b(e){return u(e)?e.length>0:false}function m(e){return typeof e==="object"&&e&&"jsonrpc"in e&&b(e.jsonrpc)&&"method"in e&&b(e.method)}function v(e){return typeof e==="object"&&e&&"jsonrpc"in e&&b(e.jsonrpc)&&"id"in e&&("result"in e||"error"in e)}function C(e){let t="";for(const s of Object.keys(e)){const i=e[s];if(h(i)){for(const[e,n]of i.entries()){const i=encodeURIComponent(`${s}[${e}]`);const r=`${encodeURIComponent(n)}&`;t+=`${i}=${r}`}}else{t+=`${encodeURIComponent(s)}=${encodeURIComponent(i)}&`}}if(t.length>0){t=t.slice(0,Math.max(0,t.length-1))}return t}function P(e,t=true){let s,i,n;if(e===null){return null}if(p(e)){s=e.cloneNode(t)}else if(typeof e==="object"){if(h(e)){s=[];for(i=0,n=e.length;i<n;i++){if(typeof e[i]==="object"&&t){s[i]=P(e[i],t)}else{s[i]=e[i]}}}else{s={};if(e.constructor){if(g(e)){s=new Date(e)}else{s=new e.constructor}}for(i in e){if(!e.hasOwnProperty(i)){continue}if(typeof e[i]==="object"&&t){s[i]=P(e[i],t)}else{s[i]=e[i]}}}}else{s=e}return s}function y(){const e=new Date;return`${e.getFullYear()}-${S(e.getMonth(),2,"0")}-${S(e.getDate(),2,"0")} ${S(e.getHours(),2,"0")}:${S(e.getMinutes(),2,"0")}`}function S(e,t,s=" "){if(e.length>t){return e}let i="";for(let e=0;e<t-i.length;e++){i+=s}return i+e}var w=babelHelpers.classPrivateFieldLooseKey("subscribers");var B=babelHelpers.classPrivateFieldLooseKey("logger");class E{constructor(e={}){Object.defineProperty(this,w,{writable:true,value:{}});Object.defineProperty(this,B,{writable:true,value:void 0});this.debug=false;this.userStatusCallbacks={};babelHelpers.classPrivateFieldLooseBase(this,B)[B]=e.logger}subscribe(e){if(!t.isObject(e)){throw new TypeError("params must be an object")}if(!t.isPlainObject(e)){return this.attachCommandHandler(e)}const{command:s,moduleId:i,callback:n,type:r=l.Server}=e;if(r===l.Server||r===l.Client){if(typeof babelHelpers.classPrivateFieldLooseBase(this,w)[w][r]==="undefined"){babelHelpers.classPrivateFieldLooseBase(this,w)[w][r]={}}if(typeof babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i]==="undefined"){babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i]={callbacks:[],commands:{}}}if(s){if(!t.isArray(babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].commands[s])){babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].commands[s]=[]}babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].commands[s].push(n);return()=>{babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].commands[s]=babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].commands[s].filter((e=>e!==n))}}babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].callbacks.push(n);return()=>{babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].callbacks=babelHelpers.classPrivateFieldLooseBase(this,w)[w][r][i].callbacks.filter((e=>e!==n))}}if(typeof babelHelpers.classPrivateFieldLooseBase(this,w)[w][r]==="undefined"){babelHelpers.classPrivateFieldLooseBase(this,w)[w][r]=[]}babelHelpers.classPrivateFieldLooseBase(this,w)[w][r].push(n);return()=>{babelHelpers.classPrivateFieldLooseBase(this,w)[w][r]=babelHelpers.classPrivateFieldLooseBase(this,w)[w][r].filter((e=>e!==n))}}attachCommandHandler(e){const s=t.isFunction(e.getModuleId)?e.getModuleId():"";if(!t.isNotEmptyString(s)){throw new TypeError("handler.getModuleId() must return a string")}let i=l.Server;if(t.isFunction(e.getSubscriptionType)){i=e.getSubscriptionType();if(!Object.values(l).includes(i)){throw new Error("result of handler.getSubscriptionType() must return valid SubscriptionType element")}}return this.subscribe({type:i,moduleId:s,callback:t=>{const s=R(e,t.command);if(s){var i;let e="";try{e=JSON.stringify(t)}catch{e="(contains circular references)"}(i=babelHelpers.classPrivateFieldLooseBase(this,B)[B])==null?void 0:i.log(`Pull.attachCommandHandler: receive command ${e}`);s(t.params,t.extra,t.command)}}})}emit(e={}){if(e.type===l.Server||e.type===l.Client){if(typeof babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type]==="undefined"){babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type]={}}if(typeof babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId]==="undefined"){babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId]={callbacks:[],commands:{}}}if(babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId].callbacks.length>0){babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId].callbacks.forEach((t=>{t(e.data,{type:e.type,moduleId:e.moduleId})}))}if(babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId].commands[e.data.command]&&babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId].commands[e.data.command].length>0){babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type][e.moduleId].commands[e.data.command].forEach((t=>{t(e.data.params,e.data.extra,e.data.command,{type:e.type,moduleId:e.moduleId})}))}return true}if(typeof babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type]==="undefined"){babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type]=[]}if(babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type].length<=0){return true}babelHelpers.classPrivateFieldLooseBase(this,w)[w][e.type].forEach((t=>{t(e.data,{type:e.type})}));return true}broadcastMessage(e){var s;const i=e.module_id.toLowerCase();const n=e.command;const r=e.params;const o=(s=e.extra)!=null?s:{};this.logMessage(e);try{if(o.sender&&o.sender.type===a.Client){this.emitClientEvent(i,n,t.clone(r),t.clone(o))}else if(i==="online"){if(o.server_time_ago<240){this.emitOnlineEvent(i,n,t.clone(r),t.clone(o))}if(n==="userStatusChange"){this.emitUserStatusChange(r.user_id,r.online)}}else{this.emitServerEvent(i,n,t.clone(r),t.clone(o))}}catch(s){if(typeof console==="object"){console.error("\n========= PULL ERROR ===========\n"+"Error type: broadcastMessages execute error\n"+"Error event: ",s,"\n"+"Message: ",e,"\n"+"================================\n");if(t.isFunction(BX.debug)){BX.debug(s)}}}}emitServerEvent(e,s,i,n){if("BX"in globalThis&&t.isFunction(BX.onCustomEvent)){BX.onCustomEvent(window,`onPullEvent-${e}`,[s,i,n],true);BX.onCustomEvent(window,"onPullEvent",[e,s,i,n],true)}this.emit({type:l.Server,moduleId:e,data:{command:s,params:i,extra:n}})}emitClientEvent(e,s,i,n){if(t.isFunction(BX.onCustomEvent)){BX.onCustomEvent(window,`onPullClientEvent-${e}`,[s,i,n],true);BX.onCustomEvent(window,"onPullClientEvent",[e,s,i,n],true)}this.emit({type:l.Client,moduleId:e,data:{command:s,params:i,extra:n}})}emitOnlineEvent(e,s,i,n){if(t.isFunction(BX.onCustomEvent)){BX.onCustomEvent(window,"onPullOnlineEvent",[s,i,n],true)}this.emit({type:l.Online,data:{command:s,params:i,extra:n}})}addUserStatusCallback(e,s){if(!this.userStatusCallbacks[e]){this.userStatusCallbacks[e]=[]}if(t.isFunction(s)){this.userStatusCallbacks[e].push(s)}}removeUserStatusCallback(e,t){if(this.userStatusCallbacks[e]){this.userStatusCallbacks[e]=this.userStatusCallbacks[e].filter((e=>e!==t))}}hasUserStatusCallbacks(e){return this.userStatusCallbacks[e].length>0}emitUserStatusChange(e,t){if(this.userStatusCallbacks[e]){this.userStatusCallbacks[e].forEach((s=>s({userId:e,isOnline:t})))}}getSubscribedUsersList(){const e=[];for(const t of Object.keys(this.userStatusCallbacks)){if(this.userStatusCallbacks[t].length>0){e.push(Number(t))}}return e}capturePullEvent(e=true){this.debug=e}logMessage(e){if(!this.debug){return}if(e.extra.sender&&e.extra.sender.type===a.Client){console.info(`onPullClientEvent-${e.module_id}`,e.command,e.params,e.extra)}else if(e.module_id==="online"){console.info("onPullOnlineEvent",e.command,e.params,e.extra)}else{console.info("onPullEvent",e.module_id,e.command,e.params,e.extra)}}}function R(e,s){let i=null;if(t.isFunction(e.getMap)){const n=e.getMap();if(t.isPlainObject(n)){if(t.isFunction(n[s])){i=n[s].bind(e)}else if(typeof n[s]==="string"&&t.isFunction(e[n[s]])){i=e[n[s]].bind(e)}}}if(!i){const n=L(s);if(t.isFunction(e[n])){i=e[n].bind(e)}}return i}function L(e){return`handle${e.charAt(0).toUpperCase()}${e.slice(1)}`}class I extends Error{constructor(e){super(e);this.name="ErrorNotConnected"}}class F extends Error{constructor(e){super(e);this.name="ErrorTimeout"}}const H="2.0";const k={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 O extends EventTarget{constructor(e){super();this.idCounter=0;this.handlers={};this.rpcResponseAwaiters=new Map;this.sender=e.sender;for(const t of Object.keys(e.handlers||{})){this.handle(t,e.handlers[t])}for(const t of Object.keys(e.events||{})){this.addEventListener(t,e.events[t])}}handle(e,t){this.handlers[e]=t}executeOutgoingRpcCommand(e,t,s=5){return new Promise(((i,n)=>{const r=this.createRequest(e,t);if(this.sender.send(JSON.stringify(r))===false){n(new I("send failed"))}if(s>0){const e=setTimeout((()=>{this.rpcResponseAwaiters.delete(r.id);n(new F("no response"))}),s*1e3);this.rpcResponseAwaiters.set(r.id,{resolve:i,reject:n,timeout:e})}else{i()}}))}executeOutgoingRpcBatch(e){const t=[];const s=[];e.forEach((({method:e,params:i,id:n})=>{const r=this.createRequest(e,i,n);t.push(r);s.push(new Promise(((e,t)=>{this.rpcResponseAwaiters.set(r.id,{resolve:e,reject:t})})))}));this.sender.send(JSON.stringify(t));return s}processRpcResponse(e){if("id"in e&&this.rpcResponseAwaiters.has(e.id)){const t=this.rpcResponseAwaiters.get(e.id);if("result"in e){t.resolve(e.result)}else if("error"in e){t.reject(e.error)}else{t.reject(new Error("wrong response structure"))}clearTimeout(t.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 t={};try{t=JSON.parse(e)}catch(e){throw new Error(`could not decode json rpc message: ${e}`)}if(h(t)){this.executeIncomingRpcBatch(t)}else if(m(t)){const e=await this.executeIncomingRpcCommand(t);if(e!==null&&e!==undefined){const s=e.error?this.createErrorResponse(t.id,e.error):this.createResponse(t.id,e);this.sender.send(JSON.stringify(s))}else{this.sender.send(JSON.stringify(this.createResponse(t.id,null)))}}else if(v(t)){this.processRpcResponse(t)}else{throw new Error(`unknown rpc packet: ${t}`)}}async executeIncomingRpcCommand({method:e,params:t}){if(e in this.handlers){try{return this.handlers[e].call(this,t)}catch(e){return{jsonrpc:"2.0",error:e.toString()}}}return{error:k.MethodNotFound}}async executeIncomingRpcBatch(e){const t=[];for(const s of e){if("jsonrpc"in s){if("method"in s){const e=this.executeIncomingRpcCommand(s);if(e){e.jsonrpc=H;e.id=s.id;t.push(e)}}else{this.processRpcResponse(s)}}else{this.dispatchEvent(new CustomEvent("error",{error:new Error(`unknown rpc command in batch: ${s}`)}));t.push({jsonrpc:"2.0",error:k.InvalidRequest})}}return t}nextId(){this.idCounter++;return this.idCounter}createPublishRequest(e){const t=e.map((e=>this.createRequest("publish",e)));if(t.length===0){return t[0]}return t}createRequest(e,t,s){return{jsonrpc:H,method:e,params:t,id:s!=null?s:this.nextId()}}createResponse(e,t){return{jsonrpc:H,id:e,result:t}}createErrorResponse(e,t){return{jsonrpc:H,id:e,error:t}}}const T={Message:"message",RevisionChanged:"revisionChanged",ConnectionStatus:"connectionStatus"};const M="/bitrix/js/pull/worker/dist/pull.worker.bundle.js";const x="Bitrix24 Push&Pull";class U extends EventTarget{static isSharedWorkerSupported(){return"SharedWorker"in window}constructor(e){super();this.connectionType=r.WebSocket;this.connectionStatus=o.Offline;this.isJsonRpcConnection=false;this.bundleTimestamp=e.bundleTimestamp;this.configTimestamp=e.configTimestamp;for(const t of Object.keys(e.events||{})){this.addEventListener(t,e.events[t])}this.worker=new SharedWorker(`${M}?${this.bundleTimestamp}`,x);this.rpcAdapter=this.createRpcAdapter();this.worker.port.start();this.worker.port.addEventListener("message",this.onPortMessage.bind(this));window.addEventListener("offline",this.onOffline.bind(this));window.addEventListener("online",this.onOnline.bind(this));window.addEventListener("pagehide",this.onPageHide.bind(this))}createRpcAdapter(){return new O({sender:{send:e=>this.worker.port.postMessage(e)},handlers:{ready:this.handleReady.bind(this),incomingMessage:this.handleIncomingMessage.bind(this),revisionChanged:this.handleRevisionChanged.bind(this),connectionStatusChanged:this.handleConnectionStatusChanged.bind(this)},events:{error:e=>console.error("rpc error",e)}})}setPublicIds(e){return this.rpcAdapter.executeOutgoingRpcCommand("setPublicIds",{publicIds:e})}sendMessage(e,t,s,i,n){return this.rpcAdapter.executeOutgoingRpcCommand("sendMessage",{users:e,moduleId:t,command:s,params:i,expiry:n})}sendMessageBatch(e){return this.rpcAdapter.executeOutgoingRpcCommand("sendMessageBatch",{messageBatch:e})}sendMessageToChannels(e,t,s,i,n){return this.rpcAdapter.executeOutgoingRpcCommand("sendMessageToChannels",{publicChannels:e,moduleId:t,command:s,params:i,expiry:n})}connect(){return Promise.resolve()}getUsersLastSeen(e){return this.rpcAdapter.executeOutgoingRpcCommand("getUsersLastSeen",{userList:e})}listChannels(){return this.rpcAdapter.executeOutgoingRpcCommand("listChannels")}isJsonRpc(){return this.isJsonRpcConnection}subscribeUserStatusChange(e){return this.rpcAdapter.executeOutgoingRpcCommand("subscribeUserStatusChange",{userId:e})}unsubscribeUserStatusChange(e){return this.rpcAdapter.executeOutgoingRpcCommand("unsubscribeUserStatusChange",{userId:e})}isWebSocketConnected(){return this.connectionType===r.WebSocket&&this.connectionStatus===o.Online}getConnectionPath(){return"not available in SharedWorker mode"}getServerMode(){return"n/a"}onLoginSuccess(){this.rpcAdapter.executeOutgoingRpcCommand("notifyLogin")}handleReady(){this.rpcAdapter.executeOutgoingRpcCommand("notifyConfigTimestamp",{configTimestamp:this.configTimestamp})}handleIncomingMessage({payload:e}){this.dispatchEvent(new CustomEvent(T.Message,{detail:e}))}handleRevisionChanged({revision:e}){this.dispatchEvent(new CustomEvent(T.RevisionChanged,{detail:{revision:e}}))}handleConnectionStatusChanged({status:e,connectionType:t,isJsonRpc:s}){this.dispatchEvent(new CustomEvent(T.ConnectionStatus,{detail:{status:e}}));this.connectionType=t;this.connectionStatus=e;this.isJsonRpcConnection=s}onPortMessage(e){const t=e.data;this.rpcAdapter.handleIncomingMessage(t)}onOffline(){this.rpcAdapter.executeOutgoingRpcCommand("notifyOffline")}onOnline(){this.rpcAdapter.executeOutgoingRpcCommand("notifyOnline")}onPageHide(){this.rpcAdapter.executeOutgoingRpcCommand("bye")}isConnected(){return this.connectionStatus===o.Online}async pingWorker(){return this.rpcAdapter.executeOutgoingRpcCommand("bye")}async getWorkerLog(){return this.rpcAdapter.executeOutgoingRpcCommand("getLog")}async getWorkerConfig(){return this.rpcAdapter.executeOutgoingRpcCommand("getConfig")}disconnect(){console.warn("Pull: SharedWorker mode: disconnection request ignored")}scheduleReconnect(){}resetSession(){}}class X{constructor(e={}){this.sessid="";this.queryParams={};if(b(e.sessid)){this.sessid=e.sessid}if(f(e.queryParams)){this.queryParams=e.queryParams}}async callMethod(e,t={},s=null,i=null,n=""){const r=n?`?logTag=${n}`:"";const o=`/rest/${e}.json${r}`;let a=null;let l=0;try{const e=await fetch(o,this.getFetchOptions({...this.queryParams,...t}));l=e.status;a=await e.json()}catch{throw new _(0,{error:"NETWORK_ERROR",error_description:"Network error"})}if(a&&"error"in a&&a.error==="session_failed"&&"sessid"in a&&b(a.sessid)){this.sessid=a.sessid;try{const e=await fetch(o,this.getFetchOptions({...this.queryParams,...t}));l=e.status;a=await e.json()}catch{throw new _(0,{error:"NETWORK_ERROR",error_description:"Network error"})}}const c=new _(l,a);if(c.isError){throw c}return c}getFetchOptions(e={}){const t=C({sessid:this.getSessid(),...e});return{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","X-Bitrix-Csrf-Token":this.getSessid()},credentials:"same-origin",body:t}}getSessid(){if(this.sessid!==""){return this.sessid}if(typeof BX!=="undefined"&&BX.bitrix_sessid){return BX.bitrix_sessid()}return""}}class _{constructor(e,t){this.isError=false;this.status=e;this.answer=t;if(typeof this.answer.error!=="undefined"){this.isError=true;this.answer.ex=new N(this.status,typeof this.answer.error==="string"?this.answer:this.answer.error)}}data(){return this.answer.result}time(){return this.answer.time}error(){return this.answer.ex}}class N{constructor(e,t){this.status=e;this.ex=t}getError(){return this.ex}getStatus(){return this.status}toString(){const e=this.ex.error_description?`: ${this.ex.error_description}`:"";return`${this.ex.error}${e} (${this.status})`}}class j{constructor(e){this.queue={};this.watchUpdateInterval=174e4;this.watchForceUpdateInterval=5e3;this.restClient=e.restClient}extend(e,t){if(!e||this.queue[e]){return}this.queue[e]=true;if(t){this.scheduleUpdate(true)}}clear(e){delete this.queue[e]}scheduleUpdate(e){clearTimeout(this.watchUpdateTimeout);this.watchUpdateTimeout=setTimeout((()=>{this.update()}),e?this.watchForceUpdateInterval:this.watchUpdateInterval)}update(){const e=Object.keys(this.queue);if(e.length>0){this.restClient.callMethod("pull.watch.extend",{tags:e},(e=>{if(e.error()){this.scheduleUpdate();return}const t=e.data();for(const e of Object.keys(t)){if(!t[e]){this.clear(e)}}this.scheduleUpdate()}))}else{this.scheduleUpdate()}}}class A{constructor(e={}){var t,s;this.userId=(t=e.userId)!=null?t:BX.message&&BX.message.USER_ID?BX.message.USER_ID:0;this.siteId=(s=e.siteId)!=null?s:BX.message&&BX.message.SITE_ID?BX.message.SITE_ID:"none"}set(e,t){if(!window.localStorage){return false}let s=t;if(b(t)){s=JSON.stringify(t)}return window.localStorage.setItem(this.getKey(e),s)}get(e,t=null){if(!window.localStorage){return t}const s=window.localStorage.getItem(this.getKey(e));if(s===null){return t}return JSON.parse(s)}remove(e){if(!window.localStorage){return}window.localStorage.removeItem(this.getKey(e))}getKey(e){return`bx-pull-${this.userId}-${this.siteId}-${e}`}compareKey(e,t){return e===this.getKey(t)}}const W=5e3;const $="bx-pull-session";const D=20;var q=babelHelpers.classPrivateFieldLooseKey("status");var J=babelHelpers.classPrivateFieldLooseKey("emitter");var K=babelHelpers.classPrivateFieldLooseKey("connector");class G{constructor(e={}){var t,s,i,n,a;Object.defineProperty(this,q,{writable:true,value:""});Object.defineProperty(this,J,{writable:true,value:void 0});Object.defineProperty(this,K,{writable:true,value:void 0});babelHelpers.classPrivateFieldLooseBase(this,J)[J]=new E({logger:this.getLogger()});babelHelpers.classPrivateFieldLooseBase(this,K)[K]=null;if(e.restApplication){if(typeof e.configGetMethod==="undefined"){e.configGetMethod="pull.application.config.get"}if(typeof e.skipCheckRevision==="undefined"){e.skipCheckRevision=true}if(typeof e.restApplication==="string"){e.siteId=e.restApplication}e.serverEnabled=true}this.context="master";this.guestMode=(t=e.guestMode)!=null?t:Y("pull_guest_mode","N")==="Y";this.guestUserId=(s=e.guestUserId)!=null?s:V("pull_guest_user_id",0);if(this.guestMode&&this.guestUserId){this.userId=this.guestUserId}else{var l;this.userId=(l=e.userId)!=null?l:V("USER_ID",0)}this.siteId=(i=e.siteId)!=null?i:Y("SITE_ID","none");this.restClient=(n=e.restClient)!=null?n:this.createRestClint();this.customRestClient=Boolean(e.restClient);this.enabled=typeof e.serverEnabled==="undefined"?typeof BX.message!=="undefined"&&BX.message.pull_server_enabled==="Y":e.serverEnabled==="Y"||e.serverEnabled===true;this.unloading=false;this.starting=false;this.connectionAttempt=0;this.connectionType=r.WebSocket;this.restartTimeout=null;this.restoreWebSocketTimeout=null;this.configGetMethod=typeof e.configGetMethod==="string"?e.configGetMethod:"pull.config.get";this.getPublicListMethod=typeof e.getPublicListMethod==="string"?e.getPublicListMethod:"pull.channel.public.list";this.skipStorageInit=e.skipStorageInit===true;this.skipCheckRevision=e.skipCheckRevision===true;this.tagWatcher=new j({restClient:this.restClient});this.configTimestamp=(a=e.configTimestamp)!=null?a:V("pull_config_timestamp",0);this.config=null;this.storage=null;if(this.userId&&!this.skipStorageInit){this.storage=new A({userId:this.userId,siteId:this.siteId})}this.notificationPopup=null;this.checkInterval=null;this.offlineTimeout=null;this.isManualDisconnect=false;this.loggingEnabled=false;this.status=o.Offline}get connector(){return babelHelpers.classPrivateFieldLooseBase(this,K)[K]}get session(){return babelHelpers.classPrivateFieldLooseBase(this,K)[K].session}get status(){return babelHelpers.classPrivateFieldLooseBase(this,q)[q]}set status(e){if(babelHelpers.classPrivateFieldLooseBase(this,q)[q]===e){return}babelHelpers.classPrivateFieldLooseBase(this,q)[q]=e;if(!this.enabled){return}if(this.offlineTimeout){clearTimeout(this.offlineTimeout);this.offlineTimeout=null}if(e===o.Offline){this.sendPullStatusDelayed(e,W)}else{this.sendPullStatus(e)}}subscribe(e){return babelHelpers.classPrivateFieldLooseBase(this,J)[J].subscribe(e)}attachCommandHandler(e){return babelHelpers.classPrivateFieldLooseBase(this,J)[J].attachCommandHandler(e)}async start(e){if(!this.enabled){throw new Error("Push & Pull server is disabled")}if(this.isConnected()){return true}const t=z("shared_worker_allowed")&&U.isSharedWorkerSupported();if(e){let t=true;if(typeof e.skipReconnectToLastSession!=="undefined"){t=!e.skipReconnectToLastSession;delete e.skipReconnectToLastSession}babelHelpers.classPrivateFieldLooseBase(this,K)[K]=this.createConnector(e,t)}else if(!this.guestMode&&!this.customRestClient&&t){babelHelpers.classPrivateFieldLooseBase(this,K)[K]=this.createWorkerConnector()}else{window.addEventListener("beforeunload",this.onBeforeUnload.bind(this));window.addEventListener("offline",this.onOffline.bind(this));window.addEventListener("online",this.onOnline.bind(this));this.configHolder=this.createConfigHolder(this.restClient);let e=null;try{e=await this.configHolder.loadConfig("client_start");babelHelpers.classPrivateFieldLooseBase(this,K)[K]=this.createConnector(e,true)}catch(e){console.error(`${y()} Pull: load config`,e);babelHelpers.classPrivateFieldLooseBase(this,K)[K]=this.createConnector(null,true);this.scheduleRestart(c.BACKEND_ERROR,"backend error");return false}}await babelHelpers.classPrivateFieldLooseBase(this,K)[K].connect();this.init();this.tagWatcher.scheduleUpdate();return true}createConnector(e,t){return new s.Connector({config:e,restoreSession:t,restClient:this.restClient,getPublicListMethod:this.getPublicListMethod,logger:this.getLogger(),events:{[s.ConnectorEvents.Message]:this.onMessage.bind(this),[s.ConnectorEvents.ChannelReplaced]:this.onChannelReplaced.bind(this),[s.ConnectorEvents.ConfigExpired]:this.onConfigExpired.bind(this),[s.ConnectorEvents.ConnectionStatus]:this.onConnectionStatus.bind(this),[s.ConnectorEvents.ConnectionError]:this.onConnectionError.bind(this),[s.ConnectorEvents.RevisionChanged]:this.onRevisionChanged.bind(this)}})}createWorkerConnector(){return new U({bundleTimestamp:V("pull_worker_mtime",0),configTimestamp:this.configTimestamp,events:{[T.Message]:this.onMessage.bind(this),[T.RevisionChanged]:this.onRevisionChanged.bind(this),[T.ConnectionStatus]:this.onConnectionStatus.bind(this)}})}init(){if(BX&&BX.desktop){BX.addCustomEvent("BXLinkOpened",this.connect.bind(this));BX.addCustomEvent("onDesktopReload",(()=>{var e;return(e=babelHelpers.classPrivateFieldLooseBase(this,K)[K])==null?void 0:e.resetSession()}));BX.desktop.addCustomEvent("BXLoginSuccess",this.onLoginSuccess.bind(this))}}onLoginSuccess(){if(babelHelpers.classPrivateFieldLooseBase(this,K)[K]instanceof U){babelHelpers.classPrivateFieldLooseBase(this,K)[K].onLoginSuccess()}else{this.restart(1e3,"desktop login")}}createConfigHolder(e){return new i.ConfigHolder({restClient:e,configGetMethod:this.configGetMethod,events:{[i.ConfigHolderEvents.ConfigExpired]:e=>{this.logToConsole("Stale config detected. Restarting");this.restart(c.CONFIG_EXPIRED,"config expired")},[i.ConfigHolderEvents.RevisionChanged]:this.onRevisionChanged.bind(this)}})}createRestClint(){const e={};if(this.guestMode&&this.guestUserId!==0){e.queryParams={pull_guest_id:this.guestUserId}}return new X(e)}setLastMessageId(e){this.session.mid=e}setPublicIds(e){babelHelpers.classPrivateFieldLooseBase(this,K)[K].setPublicIds(e)}sendMessage(e,t,s,i,n){return babelHelpers.classPrivateFieldLooseBase(this,K)[K].sendMessage(e,t,s,i,n)}sendMessageToChannels(e,t,s,i,n){return babelHelpers.classPrivateFieldLooseBase(this,K)[K].sendMessageToChannels(e,t,s,i,n)}async sendMessageBatch(e){try{await babelHelpers.classPrivateFieldLooseBase(this,K)[K].sendMessageBatch(e)}catch(e){console.error(e)}}async subscribeUserStatusChange(e,t){if(typeof e!=="number"){throw new TypeError("userId must be a number")}await babelHelpers.classPrivateFieldLooseBase(this,K)[K].subscribeUserStatusChange(e);babelHelpers.classPrivateFieldLooseBase(this,J)[J].addUserStatusCallback(e,t)}async unsubscribeUserStatusChange(e,t){if(typeof e!=="number"){throw new TypeError("userId must be a number")}babelHelpers.classPrivateFieldLooseBase(this,J)[J].removeUserStatusCallback(e,t);if(!babelHelpers.classPrivateFieldLooseBase(this,J)[J].hasUserStatusCallbacks(e)){await babelHelpers.classPrivateFieldLooseBase(this,K)[K].unsubscribeUserStatusChange(e)}}restoreUserStatusSubscription(){for(const e of babelHelpers.classPrivateFieldLooseBase(this,J)[J].getSubscribedUsersList()){babelHelpers.classPrivateFieldLooseBase(this,K)[K].subscribeUserStatusChange(e)}}emitAuthError(){if(BX&&BX.onCustomEvent){BX.onCustomEvent(window,"onPullError",["AUTHORIZE_ERROR"])}}isJsonRpc(){return this.connector?this.connector.isJsonRpc():false}getUsersLastSeen(e){if(!h(e)||!e.every((e=>typeof e==="number"))){throw new Error("userList must be an array of numbers")}return babelHelpers.classPrivateFieldLooseBase(this,K)[K].getUsersLastSeen(e)}ping(e){return babelHelpers.classPrivateFieldLooseBase(this,K)[K].ping(e)}listChannels(){return babelHelpers.classPrivateFieldLooseBase(this,K)[K].listChannels()}scheduleRestart(e,t,s){clearTimeout(this.restartTimeout);let i=s;if(!i||i<1){i=Math.ceil(Math.random()*30)+5}this.restartTimeout=setTimeout((()=>this.restart(e,t)),i*1e3)}async restart(e=c.NORMAL_CLOSURE,t="manual restart"){if(this.configHolder&&babelHelpers.classPrivateFieldLooseBase(this,K)[K]instanceof s.Connector){this.logToConsole(`Pull: restarting with code ${e}`);this.disconnect(e,t);const s=`${e}_${t.replaceAll(" ","_")}`;try{const e=await this.configHolder.loadConfig(s);babelHelpers.classPrivateFieldLooseBase(this,K)[K].setConfig(e)}catch(e){if("status"in e&&(e.status===401||e.status===403)){this.emitAuthError()}this.scheduleRestart(c.BACKEND_ERROR,"backend error");return}try{await babelHelpers.classPrivateFieldLooseBase(this,K)[K].connect()}catch{babelHelpers.classPrivateFieldLooseBase(this,K)[K].scheduleReconnect()}this.tagWatcher.scheduleUpdate()}else{this.logToConsole("Pull: restart request ignored in shared worker mode")}}disconnect(e,t){var s;(s=babelHelpers.classPrivateFieldLooseBase(this,K)[K])==null?void 0:s.disconnect(e,t)}stop(e,t){this.disconnect(e,t)}connect(){if(!this.enabled){return Promise.reject()}return babelHelpers.classPrivateFieldLooseBase(this,K)[K].connect()}logToConsole(e,...t){if(this.loggingEnabled){console.log(`${y()}: ${e}`,...t)}}getLogger(){return{log:this.logToConsole.bind(this),logForce:(e,...t)=>{console.log(`${y()}: ${e}`,...t)}}}isConnected(){return babelHelpers.classPrivateFieldLooseBase(this,K)[K]?babelHelpers.classPrivateFieldLooseBase(this,K)[K].isConnected():false}isPublishingSupported(){return true}isPublishingEnabled(){return true}onMessage(e){babelHelpers.classPrivateFieldLooseBase(this,J)[J].broadcastMessage(e.detail)}onChannelReplaced(e){this.logToConsole(`Pull: new config for ${e.detail.type} channel set\n`)}onConfigExpired(){this.restart(c.CONFIG_EXPIRED,"config expired")}onConnectionStatus(e){this.status=e.detail.status;if(this.status===o.Online&&e.detail.connectionType===r.WebSocket){this.restoreUserStatusSubscription()}}onConnectionError(e){if(e.detail.code===c.WRONG_CHANNEL_ID){this.scheduleRestart(c.WRONG_CHANNEL_ID,"wrong channel signature")}else{this.restart(e.detail.code,e.detail.reason)}}onRevisionChanged(e){this.checkRevision(e.detail.revision)}onBeforeUnload(){this.unloading=true;const e=P(this.session);e.ttl=Date.now()+D*1e3;if(this.storage){try{this.storage.set($,JSON.stringify(e),D)}catch(e){console.error(`${y()} Pull: Could not save session info in local storage. Error:`,e)}}babelHelpers.classPrivateFieldLooseBase(this,K)[K].scheduleReconnect(15)}onOffline(){this.disconnect("1000","offline")}onOnline(){this.connect()}checkRevision(e){if(this.skipCheckRevision){return true}if(e>0&&e!==n){this.enabled=false;if(typeof BX.message!=="undefined"){this.showNotification(BX.message("PULL_OLD_REVISION"))}this.disconnect(c.NORMAL_CLOSURE,"check_revision");if(typeof BX.onCustomEvent!=="undefined"){BX.onCustomEvent(window,"onPullRevisionUp",[e,n])}babelHelpers.classPrivateFieldLooseBase(this,J)[J].emit({type:l.Revision,data:{server:e,client:n}});this.logToConsole(`Pull revision changed from ${n} to ${e}. Reload required`);return false}return true}showNotification(e){if(this.notificationPopup||typeof BX.PopupWindow==="undefined"){return}this.notificationPopup=new BX.PopupWindow("bx-notifier-popup-confirm",null,{zIndex:200,autoHide:false,closeByEsc:false,overlay:true,content:BX.create("div",{props:{className:"bx-messenger-confirm"},html:e}),buttons:[new BX.PopupWindowButton({text:BX.message("JS_CORE_WINDOW_CLOSE"),className:"popup-window-button-decline",events:{click:()=>this.notificationPopup.close()}})],events:{onPopupClose:()=>this.notificationPopup.destroy(),onPopupDestroy:()=>{this.notificationPopup=null}}});this.notificationPopup.show()}getServerMode(){switch(babelHelpers.classPrivateFieldLooseBase(this,K)[K].getServerMode()){case d.Shared:return"cloud";case d.Personal:return"local";default:return"n/a"}}getDebugInfo(){var e,t,i,n,r,o;if(!JSON||!JSON.stringify){return false}let a={"Config error":"config is not loaded"};if(this.config&&this.config.channels){a={ChannelID:this.config.channels.private?this.config.channels.private.id:"n/a",ChannelDie:this.config.channels.private?this.config.channels.private.end:"n/a",ChannelDieShared:"shared"in this.config.channels?this.config.channels.shared.end:"n/a"}}let l="-";if(babelHelpers.classPrivateFieldLooseBase(this,K)[K]instanceof s.Connector&&babelHelpers.classPrivateFieldLooseBase(this,K)[K].isWebSocketConnected()){if(babelHelpers.classPrivateFieldLooseBase(this,K)[K].isJsonRpc()){l="json-rpc"}else{l=babelHelpers.classPrivateFieldLooseBase(this,K)[K].isProtobufSupported()?"protobuf":"text"}}return{UserId:this.userId+(this.userId>0?"":"(guest)"),"Guest userId":this.guestMode&&this.guestUserId!==0?this.guestUserId:"-","Browser online":navigator.onLine?"Y":"N",Connect:this.isConnected()?"Y":"N","Server type":this.getServerMode(),"WebSocket supported":"Y","WebSocket connected":(e=babelHelpers.classPrivateFieldLooseBase(this,K)[K])!=null&&e.isWebSocketConnected()?"Y":"N","WebSocket mode":l,"Try connect":(t=babelHelpers.classPrivateFieldLooseBase(this,K)[K])!=null&&t.reconnectTimeout?"Y":"N","Try number":this.connectionAttempt,Path:babelHelpers.classPrivateFieldLooseBase(this,K)[K]?babelHelpers.classPrivateFieldLooseBase(this,K)[K].getConnectionPath():"-",...a,"Last message":((i=this.session)==null?void 0:i.mid)>0?(n=this.session)==null?void 0:n.mid:"-","Session history":(r=(o=this.session)==null?void 0:o.history)!=null?r:null,"Watch tags":this.tagWatcher.queue}}enableLogging(e=true){this.loggingEnabled=e}capturePullEvent(e=true){babelHelpers.classPrivateFieldLooseBase(this,J)[J].capturePullEvent(e)}sendPullStatusDelayed(e,t){if(this.offlineTimeout){clearTimeout(this.offlineTimeout)}this.offlineTimeout=setTimeout((()=>{this.offlineTimeout=null;this.sendPullStatus(e)}),t)}sendPullStatus(e){if(this.unloading){return}if(typeof BX.onCustomEvent!=="undefined"){BX.onCustomEvent(window,"onPullStatus",[e])}babelHelpers.classPrivateFieldLooseBase(this,J)[J].emit({type:l.Status,data:{status:e}})}extendWatch(e,t){this.tagWatcher.extend(e,t)}clearWatch(e){this.tagWatcher.clear(e)}setPrivateVar(){}returnPrivateVar(){}expireConfig(){}updateChannelID(){}tryConnect(){}tryConnectDelay(){}tryConnectSet(){}updateState(){}setUpdateStateStepCount(){}supportWebSocket(){return this.isWebSocketSupported()}isWebSoketConnected(){return this.isConnected()&&this.connectionType===r.WebSocket}getPullServerStatus(){return this.isConnected()}closeConfirm(){if(this.notificationPopup){this.notificationPopup.destroy()}}}G.PullStatus=o;G.SubscriptionType=l;G.CloseReasons=c;G.StorageManager=A;function Y(e,t){if(typeof BX.message!=="undefined"&&e in BX.message){return BX.message[e]}return t}function V(e,t){if(typeof BX.message!=="undefined"&&e in BX.message){return parseInt(BX.message[e],10)}return t}function z(e,t){if(typeof BX.message!=="undefined"&&e in BX.message){return BX.message[e]==="Y"}return t}
/**
	 * Bitrix Push & Pull
	 * Pull client
	 *
	 * @package bitrix
	 * @subpackage pull
	 * @copyright 2001-2019 Bitrix
	 */if(!globalThis.BX){globalThis.BX={}}if(!BX.PULL){BX.PULL=new G}BX.PullClient=G;e.PullClient=G})(this.BX=this.BX||{},BX.Pull.Util,BX.Pull,BX.Pull);
//# sourceMappingURL=pull.client.map.js

Youez - 2016 - github.com/yon3zu
LinuXploit