X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=dbdcdee9e42c51ef10e3cffc0e2eaeaf4b6f5ac8;hp=7a1bb6534ec6e64e074c9025a3dec547912bde3e;hb=3ac082e46385d8f5a94838e8790538dc1f694565;hpb=eb67e0f6a0ce8d92ad1c528f2c367f1923683ece diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 7a1bb65..dbdcdee 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -2322,6 +2322,10 @@ sub finalize_encoding { (defined($res->body)) and (ref(\$res->body) eq 'SCALAR') ) { + # if you are finding yourself here and your body is already encoded correctly + # and you want to turn this off, use $c->clear_encoding to prevent encoding + # at this step, or set encoding to undef in the config to do so for the whole + # application. See the ENCODING documentaiton for better notes. $c->res->body( $c->encoding->encode( $c->res->body, $c->_encode_check ) ); # Set the charset if necessary. This might be a bit bonkers since encodable response @@ -4300,18 +4304,20 @@ value to undef. C -When there is an error in an action chain, the default behavior is to continue -processing the remaining actions and then catch the error upon chain end. This -can lead to running actions when the application is in an unexpected state. If -you have this issue, setting this config value to true will promptly exit a -chain when there is an error raised in any action (thus terminating the chain -early.) +Defaults to true. -use like: +When there is an error in an action chain, the default behavior is to +abort the processing of the remaining actions to avoid running them +when the application is in an unexpected state. - __PACKAGE__->config(abort_chain_on_error_fix => 1); +Before version 5.90070, the default used to be false. To keep the old +behaviour, you can explicitely set the value to false. E.g. + + __PACKAGE__->config(abort_chain_on_error_fix => 0); + +If this setting is set to false, then the remaining actions are +performed and the error is caught at the end of the chain. -In the future this might become the default behavior. =item * @@ -4765,6 +4771,11 @@ the encoding configuration to undef. This is recommended for temporary backwards compatibility only. +To turn it off for a single request use the L +method to turn off encoding for this request. This can be useful +when you are setting the body to be an arbitrary block of bytes, +especially if that block happens to be a block of UTF8 text. + Encoding is automatically applied when the content-type is set to a type that can be encoded. Currently we encode when the content type matches the following regular expression: