function __construct($options_or_dsn = null, $options = array()) { if (is_null($options_or_dsn) && !empty($_SERVER['SENTRY_DSN'])) { // Read from environment $options_or_dsn = $_SERVER['SENTRY_DSN']; } if (!is_array($options_or_dsn)) { if (!empty($options_or_dsn)) { // Must be a valid DSN $options_or_dsn = self::parseDSN($options_or_dsn); } else { $options_or_dsn = array(); } } $options = array_merge($options_or_dsn, $options); $this->servers = Raven_Util::get($options, 'servers'); $this->secret_key = Raven_Util::get($options, 'secret_key'); $this->public_key = Raven_Util::get($options, 'public_key'); $this->project = Raven_Util::get($options, 'project', 1); $this->auto_log_stacks = (bool) Raven_Util::get($options, 'auto_log_stacks', false); $this->name = Raven_Util::get($options, 'name', Raven_Compat::gethostname()); $this->site = Raven_Util::get($options, 'site', $this->_server_variable('SERVER_NAME')); $this->tags = Raven_Util::get($options, 'tags', array()); $this->trace = (bool) Raven_Util::get($options, 'trace', true); // XXX: Signing is disabled by default as it is no longer required by modern versions of Sentrys $this->signing = (bool) Raven_Util::get($options, 'signing', false); $this->processors = array(); foreach (Raven_util::get($options, 'processors', $this->getDefaultProcessors()) as $processor) { $this->processors[] = new $processor($this); } $this->_lasterror = null; }
public function __construct($options_or_dsn = null, $options = array()) { if (is_array($options_or_dsn)) { $options = array_merge($options_or_dsn, $options); } if (!is_array($options_or_dsn) && !empty($options_or_dsn)) { $dsn = $options_or_dsn; } elseif (!empty($_SERVER['SENTRY_DSN'])) { $dsn = @$_SERVER['SENTRY_DSN']; } elseif (!empty($options['dsn'])) { $dsn = $options['dsn']; } else { $dsn = null; } if (!empty($dsn)) { $options = array_merge($options, self::parseDSN($dsn)); } $this->logger = Raven_Util::get($options, 'logger', 'php'); $this->server = Raven_Util::get($options, 'server'); $this->secret_key = Raven_Util::get($options, 'secret_key'); $this->public_key = Raven_Util::get($options, 'public_key'); $this->project = Raven_Util::get($options, 'project', 1); $this->auto_log_stacks = (bool) Raven_Util::get($options, 'auto_log_stacks', false); $this->name = Raven_Util::get($options, 'name', Raven_Compat::gethostname()); $this->site = Raven_Util::get($options, 'site', $this->_server_variable('SERVER_NAME')); $this->tags = Raven_Util::get($options, 'tags', array()); $this->release = Raven_Util::get($options, 'release', null); $this->environment = Raven_Util::get($options, 'environment', null); $this->trace = (bool) Raven_Util::get($options, 'trace', true); $this->timeout = Raven_Util::get($options, 'timeout', 2); $this->message_limit = Raven_Util::get($options, 'message_limit', self::MESSAGE_LIMIT); $this->exclude = Raven_Util::get($options, 'exclude', array()); $this->severity_map = null; $this->shift_vars = (bool) Raven_Util::get($options, 'shift_vars', true); $this->http_proxy = Raven_Util::get($options, 'http_proxy'); $this->extra_data = Raven_Util::get($options, 'extra', array()); $this->send_callback = Raven_Util::get($options, 'send_callback', null); $this->curl_method = Raven_Util::get($options, 'curl_method', 'sync'); $this->curl_path = Raven_Util::get($options, 'curl_path', 'curl'); $this->curl_ipv4 = Raven_util::get($options, 'curl_ipv4', true); $this->ca_cert = Raven_Util::get($options, 'ca_cert', $this->get_default_ca_cert()); $this->verify_ssl = Raven_Util::get($options, 'verify_ssl', true); $this->curl_ssl_version = Raven_Util::get($options, 'curl_ssl_version'); $this->trust_x_forwarded_proto = Raven_Util::get($options, 'trust_x_forwarded_proto'); // a list of prefixes used to coerce absolute paths into relative $this->prefixes = Raven_Util::get($options, 'prefixes', null); // app path is used to determine if code is part of your application $this->app_path = Raven_Util::get($options, 'app_path', null); $this->processors = $this->setProcessorsFromOptions($options); $this->_lasterror = null; $this->_last_event_id = null; $this->_user = null; $this->context = new Raven_Context(); $this->breadcrumbs = new Raven_Breadcrumbs(); $this->sdk = Raven_Util::get($options, 'sdk', array('name' => 'sentry-php', 'version' => self::VERSION)); if ($this->curl_method == 'async') { $this->_curl_handler = new Raven_CurlHandler($this->get_curl_options()); } }
public function __construct($options_or_dsn = null, $options = array()) { if (is_null($options_or_dsn) && !empty($_SERVER['SENTRY_DSN'])) { // Read from environment $options_or_dsn = $_SERVER['SENTRY_DSN']; } if (!is_array($options_or_dsn)) { if (!empty($options_or_dsn)) { // Must be a valid DSN $options_or_dsn = self::parseDSN($options_or_dsn); } else { $options_or_dsn = array(); } } $options = array_merge($options_or_dsn, $options); $this->logger = Raven_Util::get($options, 'logger', 'php'); $this->server = Raven_Util::get($options, 'server'); $this->secret_key = Raven_Util::get($options, 'secret_key'); $this->public_key = Raven_Util::get($options, 'public_key'); $this->project = Raven_Util::get($options, 'project', 1); $this->auto_log_stacks = (bool) Raven_Util::get($options, 'auto_log_stacks', false); $this->name = Raven_Util::get($options, 'name', Raven_Compat::gethostname()); $this->site = Raven_Util::get($options, 'site', $this->_server_variable('SERVER_NAME')); $this->tags = Raven_Util::get($options, 'tags', array()); $this->release = Raven_util::get($options, 'release', null); $this->environment = Raven_util::get($options, 'environment', null); $this->trace = (bool) Raven_Util::get($options, 'trace', true); $this->timeout = Raven_Util::get($options, 'timeout', 2); $this->message_limit = Raven_Util::get($options, 'message_limit', self::MESSAGE_LIMIT); $this->exclude = Raven_Util::get($options, 'exclude', array()); $this->severity_map = null; $this->shift_vars = (bool) Raven_Util::get($options, 'shift_vars', true); $this->http_proxy = Raven_Util::get($options, 'http_proxy'); $this->extra_data = Raven_Util::get($options, 'extra', array()); $this->send_callback = Raven_Util::get($options, 'send_callback', null); $this->curl_method = Raven_Util::get($options, 'curl_method', 'sync'); $this->curl_path = Raven_Util::get($options, 'curl_path', 'curl'); $this->curl_ipv4 = Raven_util::get($options, 'curl_ipv4', true); $this->ca_cert = Raven_util::get($options, 'ca_cert', $this->get_default_ca_cert()); $this->verify_ssl = Raven_util::get($options, 'verify_ssl', true); $this->curl_ssl_version = Raven_Util::get($options, 'curl_ssl_version'); $this->trust_x_forwarded_proto = Raven_Util::get($options, 'trust_x_forwarded_proto'); $this->processors = $this->setProcessorsFromOptions($options); $this->_lasterror = null; $this->_user = null; $this->context = new Raven_Context(); if ($this->curl_method == 'async') { $this->_curl_handler = new Raven_CurlHandler($this->get_curl_options()); } }
public function __construct($options_or_dsn = null, $options = array()) { if (is_null($options_or_dsn) && !empty($_SERVER['SENTRY_DSN'])) { // Read from environment $options_or_dsn = $_SERVER['SENTRY_DSN']; } if (!is_array($options_or_dsn)) { if (!empty($options_or_dsn)) { // Must be a valid DSN $options_or_dsn = self::parseDSN($options_or_dsn); } else { $options_or_dsn = array(); } } $options = array_merge($options_or_dsn, $options); $this->logger = Raven_Util::get($options, 'logger', 'php'); $this->servers = Raven_Util::get($options, 'servers'); $this->secret_key = Raven_Util::get($options, 'secret_key'); $this->public_key = Raven_Util::get($options, 'public_key'); $this->project = Raven_Util::get($options, 'project', 1); $this->auto_log_stacks = (bool) Raven_Util::get($options, 'auto_log_stacks', false); $this->name = Raven_Util::get($options, 'name', Raven_Compat::gethostname()); $this->site = Raven_Util::get($options, 'site', $this->_server_variable('SERVER_NAME')); $this->tags = Raven_Util::get($options, 'tags', array()); $this->trace = (bool) Raven_Util::get($options, 'trace', true); $this->timeout = Raven_Util::get($options, 'timeout', 2); $this->exclude = Raven_Util::get($options, 'exclude', array()); $this->severity_map = NULL; $this->shift_vars = (bool) Raven_Util::get($options, 'shift_vars', true); $this->http_proxy = Raven_Util::get($options, 'http_proxy'); $this->extra_data = Raven_Util::get($options, 'extra', array()); $this->send_callback = Raven_Util::get($options, 'send_callback', null); $this->curl_method = Raven_Util::get($options, 'curl_method', 'async'); $this->curl_path = Raven_Util::get($options, 'curl_path', 'curl'); $this->processors = array(); foreach (Raven_util::get($options, 'processors', self::getDefaultProcessors()) as $processor) { $this->processors[] = new $processor($this); } $this->_lasterror = null; $this->_user = null; $this->context = new Raven_Context(); if ($this->curl_method == 'async') { $this->_curl_handler = new Raven_CurlHandler($this->get_curl_options()); } }
public function testGetReturnsPresentValuesEvenWhenEmpty() { $input = array('foo' => ''); $result = Raven_Util::get($input, 'foo', 'bar'); $this->assertEquals('', $result); }