Move the HTTP header for legacy requests into the `AJAXProxyAction`
authorAlexander Ebert <ebert@woltlab.com>
Mon, 14 Nov 2022 15:45:40 +0000 (16:45 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 14 Nov 2022 15:45:40 +0000 (16:45 +0100)
wcfsetup/install/files/lib/action/AJAXProxyAction.class.php
wcfsetup/install/files/lib/http/middleware/TriggerBackgroundQueue.class.php

index 813ccf3e69af94df74e6e2ee14d48e6dad0130cd..7858eec89e41c3a1b28dcb77e588d591b7208595 100644 (file)
@@ -3,9 +3,11 @@
 namespace wcf\action;
 
 use wcf\data\IDatabaseObjectAction;
+use wcf\http\middleware\TriggerBackgroundQueue;
 use wcf\system\exception\ImplementationException;
 use wcf\system\exception\ParentClassException;
 use wcf\system\exception\UserInputException;
+use wcf\system\request\RequestHandler;
 use wcf\system\WCF;
 use wcf\system\WCFACP;
 use wcf\util\ArrayUtil;
@@ -114,6 +116,16 @@ class AJAXProxyAction extends AJAXInvokeAction
             }
         }
 
+        if (!RequestHandler::getInstance()->isACPRequest() && WCF::getSession()->getVar('forceBackgroundQueuePerform')) {
+            @\header(
+                \sprintf(
+                    '%s: %s',
+                    TriggerBackgroundQueue::HEADER_NAME,
+                    TriggerBackgroundQueue::HEADER_VALUE,
+                )
+            );
+        }
+
         parent::sendResponse();
     }
 }
index c23720dd5bf100a4543123b1a4bb5bf62bc45f9b..5ba434988b930f961ae92a28eba6637c63bcfc25 100644 (file)
@@ -22,8 +22,8 @@ use wcf\system\request\RequestHandler;
  */
 final class TriggerBackgroundQueue implements MiddlewareInterface
 {
-    private const HEADER_NAME = 'woltlab-background-queue-check';
-    private const HEADER_VALUE = 'yes';
+    public const HEADER_NAME = 'woltlab-background-queue-check';
+    public const HEADER_VALUE = 'yes';
 
     private readonly BackgroundQueueHandler $backgroundQueueHandler;
     private readonly RequestHandler $requestHandler;
@@ -48,10 +48,6 @@ final class TriggerBackgroundQueue implements MiddlewareInterface
         }
 
         if ($response instanceof LegacyPlaceholderResponse) {
-            \header(
-                \sprintf('%s: %s', self::HEADER_NAME, self::HEADER_VALUE)
-            );
-
             return $response;
         }