/** * @return array */ protected function getHstsConfig() { $config = []; if (Config::hasKey(ApplicationConstants::YVES_HTTP_STRICT_TRANSPORT_SECURITY_CONFIG)) { $config = Config::get(ApplicationConstants::YVES_HTTP_STRICT_TRANSPORT_SECURITY_CONFIG); } return $config; }
/** * close redis connection */ public function __destruct() { $isPersistent = false; if (Config::hasKey(LibraryConstants::YVES_STORAGE_SESSION_PERSISTENT_CONNECTION)) { $isPersistent = (bool) Config::get(LibraryConstants::YVES_STORAGE_SESSION_PERSISTENT_CONNECTION); } if (!$isPersistent && $this->resource) { $this->resource->disconnect(); } }
/** * @return array */ protected function getConnectionParameters() { // TODO: Remove defaults. The default Config::get() values are for BC only. $config = ['protocol' => Config::get(StorageConstants::STORAGE_REDIS_PROTOCOL, Config::get(SessionConstants::YVES_SESSION_REDIS_PROTOCOL)), 'port' => Config::get(StorageConstants::STORAGE_REDIS_PORT, Config::get(SessionConstants::YVES_SESSION_REDIS_PORT)), 'host' => Config::get(StorageConstants::STORAGE_REDIS_HOST, Config::get(SessionConstants::YVES_SESSION_REDIS_HOST)), 'database' => Config::get(StorageConstants::STORAGE_REDIS_DATABASE, static::DEFAULT_REDIS_DATABASE)]; // TODO: Remove elseif. Only for BC. if (Config::hasKey(StorageConstants::STORAGE_REDIS_PASSWORD)) { $config['password'] = Config::get(StorageConstants::STORAGE_REDIS_PASSWORD); } elseif (Config::hasKey(SessionConstants::YVES_SESSION_REDIS_PASSWORD)) { $config['password'] = Config::get(SessionConstants::YVES_SESSION_REDIS_PASSWORD); } // TODO: Remove elseif. Only for BC. $config['persistent'] = false; if (Config::hasKey(StorageConstants::STORAGE_PERSISTENT_CONNECTION)) { $config['persistent'] = (bool) Config::get(StorageConstants::STORAGE_PERSISTENT_CONNECTION); } elseif (Config::hasKey(SessionConstants::YVES_SESSION_PERSISTENT_CONNECTION)) { $config['persistent'] = (bool) Config::get(SessionConstants::YVES_SESSION_PERSISTENT_CONNECTION); } return $config; }
/** * @param string $saveHandler * * @return string|null */ protected function getSavePath($saveHandler) { $path = null; if (SessionConstants::SESSION_HANDLER_REDIS === $saveHandler) { $path = sprintf('%s://%s:%s?database=%s', Config::get(SessionConstants::ZED_SESSION_REDIS_PROTOCOL), Config::get(SessionConstants::ZED_SESSION_REDIS_HOST), Config::get(SessionConstants::ZED_SESSION_REDIS_PORT), Config::get(SessionConstants::ZED_SESSION_REDIS_DATABASE, StorageConfig::DEFAULT_REDIS_DATABASE)); if (Config::hasKey(SessionConstants::ZED_SESSION_REDIS_PASSWORD)) { $path = sprintf('%s://h:%s@%s:%s?database=%s', Config::get(SessionConstants::ZED_SESSION_REDIS_PROTOCOL), Config::get(SessionConstants::ZED_SESSION_REDIS_PASSWORD), Config::get(SessionConstants::ZED_SESSION_REDIS_HOST), Config::get(SessionConstants::ZED_SESSION_REDIS_PORT), Config::get(SessionConstants::ZED_SESSION_REDIS_DATABASE, StorageConfig::DEFAULT_REDIS_DATABASE)); } return $path; } if (SessionConstants::SESSION_HANDLER_FILE === $saveHandler) { $path = Config::get(SessionConstants::ZED_SESSION_FILE_PATH); } return $path; }
/** * @return array */ protected function getConnectionParameters() { $config = ['protocol' => Config::get(StorageConstants::STORAGE_REDIS_PROTOCOL, Config::get(SessionConstants::ZED_SESSION_REDIS_PROTOCOL)), 'port' => Config::get(StorageConstants::STORAGE_REDIS_PORT, Config::get(SessionConstants::ZED_SESSION_REDIS_PORT)), 'host' => Config::get(StorageConstants::STORAGE_REDIS_HOST, Config::get(SessionConstants::ZED_SESSION_REDIS_HOST)), 'database' => Config::get(StorageConstants::STORAGE_REDIS_DATABASE, StorageConfig::DEFAULT_REDIS_DATABASE)]; if (Config::hasKey(SessionConstants::ZED_SESSION_REDIS_PASSWORD)) { $config['password'] = Config::get(SessionConstants::ZED_SESSION_REDIS_PASSWORD); } return $config; }
/** * @param string $kvAdapter * * @throws \ErrorException * * @return array */ protected static function createAdapterConfig($kvAdapter) { $config = null; switch ($kvAdapter) { case static::KV_ADAPTER_REDIS: $config = ['protocol' => Config::get(StorageConstants::STORAGE_REDIS_PROTOCOL, Config::get(LibraryConstants::YVES_STORAGE_SESSION_REDIS_PROTOCOL)), 'port' => Config::get(StorageConstants::STORAGE_REDIS_PORT, Config::get(LibraryConstants::YVES_STORAGE_SESSION_REDIS_PORT)), 'host' => Config::get(StorageConstants::STORAGE_REDIS_HOST, Config::get(LibraryConstants::YVES_STORAGE_SESSION_REDIS_HOST)), 'database' => Config::get(StorageConstants::STORAGE_REDIS_DATABASE, static::DEFAULT_REDIS_DATABASE)]; // TODO: Remove elseif, only there for BC if (Config::hasKey(StorageConstants::STORAGE_REDIS_PASSWORD)) { $config['password'] = Config::get(StorageConstants::STORAGE_REDIS_PASSWORD); } elseif (Config::hasKey(LibraryConstants::YVES_STORAGE_SESSION_REDIS_PASSWORD)) { $config['password'] = Config::get(LibraryConstants::YVES_STORAGE_SESSION_REDIS_PASSWORD); } // TODO: Remove elseif, only there for BC $config['persistent'] = false; if (Config::hasKey(StorageConstants::STORAGE_PERSISTENT_CONNECTION)) { $config['persistent'] = (bool) Config::get(StorageConstants::STORAGE_PERSISTENT_CONNECTION); } elseif (Config::hasKey(LibraryConstants::YVES_STORAGE_SESSION_PERSISTENT_CONNECTION)) { $config['persistent'] = Config::get(LibraryConstants::YVES_STORAGE_SESSION_PERSISTENT_CONNECTION); } break; case static::SEARCH_ELASTICA_ADAPTER: $config = ['transport' => ucfirst(Config::get(LibraryConstants::ELASTICA_PARAMETER__TRANSPORT)), 'port' => Config::get(LibraryConstants::ELASTICA_PARAMETER__PORT), 'host' => Config::get(LibraryConstants::ELASTICA_PARAMETER__HOST)]; if (Config::hasValue(LibraryConstants::ELASTICA_PARAMETER__AUTH_HEADER)) { $config['headers'] = ['Authorization' => 'Basic ' . Config::get(LibraryConstants::ELASTICA_PARAMETER__AUTH_HEADER)]; } break; } if ($config === null) { throw new ErrorException('Missing implementation for adapter ' . $kvAdapter); } return $config; }