Use HTTP 500 in error conditions
authorTim Düsterhus <duesterhus@woltlab.com>
Thu, 12 May 2022 10:32:41 +0000 (12:32 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Thu, 12 May 2022 10:32:41 +0000 (12:32 +0200)
Sending a 500 Internal Server Error for unplanned errors is more appropriate
than a 503 Service Unavailable, as the latter is defined:

RFC 7231#6.6.4:

> The 503 (Service Unavailable) status code indicates that the server
> is currently unable to handle the request due to a temporary overload
> or scheduled maintenance, which will likely be alleviated after some
> delay.

It's not likely that the exception will resolve itself after some delay.

wcfsetup/install/files/lib/system/WCF.class.php
wcfsetup/install/files/proxy_sourcemap.php

index f8da53a2dfff6d39912b680d450989b74067189f..bc80d8f92dbb6fa2187bcd5fc4f91cb34babcbe5 100644 (file)
@@ -311,7 +311,7 @@ class WCF
             }
         }
 
-        @\header('HTTP/1.1 503 Service Unavailable');
+        @\header('HTTP/1.1 500 Internal Server Error');
         try {
             \wcf\functions\exception\printThrowable($e);
         } catch (\Throwable $e2) {
index c3786532bea822ee8ab403203f4bf807b75ff159..cc05afde18e3eff52bcd2ba01bff5c8facfe8ce0 100644 (file)
@@ -149,7 +149,7 @@ function handle(ServerRequestInterface $request): ResponseInterface
     $body = new Stream(\fopen($cacheFilename, 'r'));
 
     if ($body->getSize() === 0) {
-        return new TextResponse('Failed to download the source map.', 503);
+        return new TextResponse('Failed to download the source map.', 500);
     }
 
     return new Response(