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/rospirotorg.ru/bitrix/js/pull/configholder/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/pull/configholder/dist/pull.configholder.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
(function (exports) {
	'use strict';

	/* eslint-disable @bitrix24/bitrix24-rules/no-typeof */
	function getTimestamp() {
	  return Date.now();
	}
	function isNumber(item) {
	  return typeof item === 'number' && Number.isFinite(item);
	}
	function isPlainObject(item) {
	  return Boolean(item) && typeof item === 'object' && item.constructor === Object;
	}

	const REVISION = 19; // api revision - check module/pull/include.php

	/* eslint-disable @bitrix24/bitrix24-rules/no-native-events-binding */
	const CONFIG_CHECK_INTERVAL = 60000;
	const ConfigHolderEvents = {
	  ConfigExpired: 'configExpired',
	  RevisionChanged: 'revisionChanged'
	};
	class ConfigHolder extends EventTarget {
	  constructor(options = {}) {
	    super();
	    this.configGetMethod = 'pull.config.get';
	    if (options.configGetMethod) {
	      this.configGetMethod = options.configGetMethod;
	    }
	    this.restClient = options.restClient;
	    for (const eventName of Object.keys(options.events || {})) {
	      this.addEventListener(eventName, options.events[eventName]);
	    }
	  }
	  loadConfig(logTag) {
	    this.stopCheckConfig();
	    return new Promise((resolve, reject) => {
	      this.restClient.callMethod(this.configGetMethod, {
	        CACHE: 'N'
	      }, undefined, undefined, logTag).then(response => {
	        const data = response.data();
	        const timeShift = Math.floor((getTimestamp() - new Date(data.serverTime).getTime()) / 1000);
	        delete data.serverTime;
	        this.config = {
	          ...data
	        };
	        this.config.server.timeShift = timeShift;
	        this.startCheckConfig();
	        resolve(this.config);
	      }).catch(response => {
	        this.config = undefined;
	        const error = response.error();
	        if (error.getError().error === 'AUTHORIZE_ERROR' || error.getError().error === 'WRONG_AUTH_TYPE') {
	          error.status = 403;
	        }
	        reject(error);
	      });
	    });
	  }
	  startCheckConfig() {
	    if (this.checkInterval) {
	      clearInterval(this.checkInterval);
	    }
	    this.checkInterval = setInterval(() => this.checkConfig(), CONFIG_CHECK_INTERVAL);
	  }
	  stopCheckConfig() {
	    if (this.checkInterval) {
	      clearInterval(this.checkInterval);
	    }
	    this.checkInterval = null;
	  }
	  checkConfig() {
	    if (!this.isConfigActual(this.config)) {
	      this.dispatchEvent(new CustomEvent(ConfigHolderEvents.ConfigExpired));
	    } else if (this.config.api.revision_web !== REVISION) {
	      this.dispatchEvent(new CustomEvent(ConfigHolderEvents.RevisionChanged, {
	        detail: {
	          revision: this.config.api.revision_web
	        }
	      }));
	    }
	  }
	  isConfigActual(config) {
	    if (!isPlainObject(config)) {
	      return false;
	    }
	    if (config.server.config_timestamp < this.configTimestamp) {
	      return false;
	    }
	    const now = new Date();
	    if (isNumber(config.exp) && config.exp > 0 && config.exp < now.getTime() / 1000) {
	      return false;
	    }
	    const channelTypes = Object.keys(config.channels || {});
	    if (channelTypes.length === 0) {
	      return false;
	    }
	    for (const channelType of channelTypes) {
	      const channel = config.channels[channelType];
	      const channelEnd = new Date(channel.end);
	      if (channelEnd < now) {
	        return false;
	      }
	    }
	    return true;
	  }
	  dispose() {
	    this.stopCheckConfig();
	  }
	}

	exports.ConfigHolderEvents = ConfigHolderEvents;
	exports.ConfigHolder = ConfigHolder;

}((this.BX.Pull = this.BX.Pull || {})));
//# sourceMappingURL=pull.configholder.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit