mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #45375 from nextcloud/fix/move-eventsource-to-oc
Move EventSource to `OC` namespace
This commit is contained in:
commit
9b0e4832bd
5 changed files with 25 additions and 34 deletions
|
|
@ -1382,6 +1382,7 @@ return array(
|
|||
'OC\\Encryption\\Util' => $baseDir . '/lib/private/Encryption/Util.php',
|
||||
'OC\\EventDispatcher\\EventDispatcher' => $baseDir . '/lib/private/EventDispatcher/EventDispatcher.php',
|
||||
'OC\\EventDispatcher\\ServiceEventListener' => $baseDir . '/lib/private/EventDispatcher/ServiceEventListener.php',
|
||||
'OC\\EventSource' => $baseDir . '/lib/private/EventSource.php',
|
||||
'OC\\EventSourceFactory' => $baseDir . '/lib/private/EventSourceFactory.php',
|
||||
'OC\\Federation\\CloudFederationFactory' => $baseDir . '/lib/private/Federation/CloudFederationFactory.php',
|
||||
'OC\\Federation\\CloudFederationNotification' => $baseDir . '/lib/private/Federation/CloudFederationNotification.php',
|
||||
|
|
@ -1905,7 +1906,6 @@ return array(
|
|||
'OC_API' => $baseDir . '/lib/private/legacy/OC_API.php',
|
||||
'OC_App' => $baseDir . '/lib/private/legacy/OC_App.php',
|
||||
'OC_Defaults' => $baseDir . '/lib/private/legacy/OC_Defaults.php',
|
||||
'OC_EventSource' => $baseDir . '/lib/private/legacy/OC_EventSource.php',
|
||||
'OC_FileChunking' => $baseDir . '/lib/private/legacy/OC_FileChunking.php',
|
||||
'OC_Files' => $baseDir . '/lib/private/legacy/OC_Files.php',
|
||||
'OC_Helper' => $baseDir . '/lib/private/legacy/OC_Helper.php',
|
||||
|
|
|
|||
|
|
@ -1423,6 +1423,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
'OC\\Encryption\\Util' => __DIR__ . '/../../..' . '/lib/private/Encryption/Util.php',
|
||||
'OC\\EventDispatcher\\EventDispatcher' => __DIR__ . '/../../..' . '/lib/private/EventDispatcher/EventDispatcher.php',
|
||||
'OC\\EventDispatcher\\ServiceEventListener' => __DIR__ . '/../../..' . '/lib/private/EventDispatcher/ServiceEventListener.php',
|
||||
'OC\\EventSource' => __DIR__ . '/../../..' . '/lib/private/EventSource.php',
|
||||
'OC\\EventSourceFactory' => __DIR__ . '/../../..' . '/lib/private/EventSourceFactory.php',
|
||||
'OC\\Federation\\CloudFederationFactory' => __DIR__ . '/../../..' . '/lib/private/Federation/CloudFederationFactory.php',
|
||||
'OC\\Federation\\CloudFederationNotification' => __DIR__ . '/../../..' . '/lib/private/Federation/CloudFederationNotification.php',
|
||||
|
|
@ -1946,7 +1947,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
'OC_API' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_API.php',
|
||||
'OC_App' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_App.php',
|
||||
'OC_Defaults' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Defaults.php',
|
||||
'OC_EventSource' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_EventSource.php',
|
||||
'OC_FileChunking' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_FileChunking.php',
|
||||
'OC_Files' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Files.php',
|
||||
'OC_Helper' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Helper.php',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
use OCP\IRequest;
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
|
|
@ -29,36 +29,30 @@ use OCP\IRequest;
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*/
|
||||
class OC_EventSource implements \OCP\IEventSource {
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $fallback;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $fallBackId = 0;
|
||||
namespace OC;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $started = false;
|
||||
use OCP\IEventSource;
|
||||
use OCP\IRequest;
|
||||
|
||||
private IRequest $request;
|
||||
class EventSource implements IEventSource {
|
||||
private bool $fallback = false;
|
||||
private int $fallBackId = 0;
|
||||
private bool $started = false;
|
||||
|
||||
public function __construct(IRequest $request) {
|
||||
$this->request = $request;
|
||||
public function __construct(
|
||||
private IRequest $request,
|
||||
) {
|
||||
}
|
||||
|
||||
protected function init() {
|
||||
protected function init(): void {
|
||||
if ($this->started) {
|
||||
return;
|
||||
}
|
||||
$this->started = true;
|
||||
|
||||
// prevent php output buffering, caching and nginx buffering
|
||||
OC_Util::obEnd();
|
||||
\OC_Util::obEnd();
|
||||
header('Cache-Control: no-cache');
|
||||
header('X-Accel-Buffering: no');
|
||||
$this->fallback = isset($_GET['fallback']) and $_GET['fallback'] == 'true';
|
||||
|
|
@ -104,7 +98,7 @@ class OC_EventSource implements \OCP\IEventSource {
|
|||
*/
|
||||
public function send($type, $data = null) {
|
||||
if ($data and !preg_match('/^[A-Za-z0-9_]+$/', $type)) {
|
||||
throw new BadMethodCallException('Type needs to be alphanumeric ('. $type .')');
|
||||
throw new \BadMethodCallException('Type needs to be alphanumeric ('. $type .')');
|
||||
}
|
||||
$this->init();
|
||||
if (is_null($data)) {
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2023 Daniel Kesselberg <mail@danielkesselberg.de>
|
||||
*
|
||||
|
|
@ -27,20 +30,12 @@ use OCP\IEventSourceFactory;
|
|||
use OCP\IRequest;
|
||||
|
||||
class EventSourceFactory implements IEventSourceFactory {
|
||||
private IRequest $request;
|
||||
|
||||
|
||||
public function __construct(IRequest $request) {
|
||||
$this->request = $request;
|
||||
public function __construct(
|
||||
private IRequest $request,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new event source
|
||||
*
|
||||
* @return IEventSource
|
||||
* @since 28.0.0
|
||||
*/
|
||||
public function create(): IEventSource {
|
||||
return new \OC_EventSource($this->request);
|
||||
return new EventSource($this->request);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ interface IEventSource {
|
|||
*
|
||||
* @param string $type One of success, notice, error, failure and done. Used in core/js/update.js
|
||||
* @param mixed $data
|
||||
* @return void
|
||||
*
|
||||
* if only one parameter is given, a typeless message will be send with that parameter as data
|
||||
* @since 8.0.0
|
||||
|
|
@ -45,6 +46,7 @@ interface IEventSource {
|
|||
|
||||
/**
|
||||
* close the connection of the event source
|
||||
* @return void
|
||||
* @since 8.0.0
|
||||
*/
|
||||
public function close();
|
||||
|
|
|
|||
Loading…
Reference in a new issue