Project

General

Profile

Actions

Bug #104828

open

config.contentObjectExceptionHandler sends 200 HTTP Status and regular cache headers

Added by Benni Mack about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Frontend
Start date:
2024-09-05
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
12
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

If using TYPO3 in Frontend with config.contentObjectExceptionHandler=0 and a CDN in front, then TYPO3 just shows the page with an error message and the error code, and thus, replaces the plugin rendering, but it sends a HTTP Response with status code 200, and the configured headers.

If you use a CDN, and use manual cache purge / flush logic, it might happen that a page (let's say with a career job offering listing) with this error is cached in the CDN for multiple hours or even days, because of a broken state when the cache was empty the last time.

Instead, a 50x response should be sent if ContentObjectRenderer catches any exception, to ensure that TYPO3 Frontend never sends such information as cached response.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Feature #104321: Provide method to handle argument mapping exceptions in ActionControllerClosedTorben Hansen2024-07-06

Actions
Actions #1

Updated by Benni Mack about 2 months ago

  • Subject changed from config.contentObjectExceptionHandler sends 200 to config.contentObjectExceptionHandler sends 200 HTTP Status and regular cache headers
Actions #2

Updated by Garvin Hicking about 2 months ago

  • Related to Feature #104321: Provide method to handle argument mapping exceptions in ActionController added
Actions #3

Updated by Garvin Hicking about 2 months ago

Check related #104321 - possibly the PropagateResponseException needs a $code in the constructor calls, where a 5xx occurs, available through the ImmediateResponseException.

Actions #4

Updated by Benni Mack about 2 months ago

Garvin Hicking wrote in #note-3:

Check related #104321 - possibly the PropagateResponseException needs a $code in the constructor calls, where a 5xx occurs, available through the ImmediateResponseException.

Yes, but I'm talking about another issue - namely that the \Throwable is caught in ContentObjectRenderer where just a string is returned from the contentObjectExceptionHandler = 0.

Actions

Also available in: Atom PDF