nette/application 3.2: oddělení 4xx a 5xx error presenterů na úrovni konfigurace

David Grudl
Nette Core | 8218
+
+15
-

Od nette/application v3.2.1 lze v konfiguraci uvádět různé error presentery pro BadRequestException (4xx) a ostatní (5xx):

application:
	errorPresenter:
		4xx: Error4xx
		5xx: Error5xx

Redirect na 4xx error-presenter se tak uskuteční přímo z presenteru, kde vznikla chyba, bez mezičlánku, takže se zachovají případné persistentní parametry a tak.

Dále catchExceptions nově přijímá hodnotu 4xx, která říká, že error-presenter se má při vývoji zobrazovat pro chyby 4xx a ostatní se nechají probublat do Tracy:

application:
	catchExceptions: 4xx

Tato hodnota je nově i výchozí.

David Grudl
Nette Core | 8218
+
+7
-

Už je to venku

m.brecher
Generous Backer | 863
+
0
-

Tato hodnota je nově i výchozí.

Ahoj,

výborné vylepšení Nette Application, s jedinou výhradou. Upgradoval jsem před pár dny na poslední verzi nette/application a vyloženě mě zaskočila změněná defaultní hodnota

application:
	catchExceptions: 4xx

Měl jsem v aplikaci chybu – překlep v názvu šablony akce a vyskočila na mě moje vlastní 4xx chybová stránka a chvíli mě trvalo, než jsem pochopil, že nyní bude potřeba ladit chybové stránky nikoliv postaru:

application:
	## catchExceptions: true
    catchExceptions: true

ale ponovu:

application:
	catchExceptions: false
    catchExceptions: true

Takže žádný problém s tím není. Nová hodnota 4xx je užitečná při ladění 4xx chybových stránek, takže super, že tam je. Nicméně při běžném vývoji aplikací potřebuji vědět o příčinách chyb 4xx i 5xx trvale, protože 4xx při vývoji z 90% způsobují chyby v aplikaci(routování). Takže bych navrhoval ponechat původní defaultní hodnotu catchExceptions: false.

David Grudl
Nette Core | 8218
+
+2
-

Je to tak, vrátím původní chování.