merged
[catagits/Catalyst-Action-REST.git] / Changes
CommitLineData
3ba4e173 1Revision history for {{$dist->name}}
801ec379 2
3ba4e173 3{{$NEXT}}
eb3ab200 4
2058bd04 5 - Documentation fixes.
6 - Don't clobber some response headers if they are already set.
7
19cd07ec 81.19 2015-02-06 09:40:02-06:00 America/Chicago
9
2f47e474 10 - Make LWP a test dep instead of a hard dep (Fixes GH#3, thanks Alexander
11 Hartmaier for the report!)
1edd63a7 12 - Hard dep on JSON::MaybeXS (Fixes RT#101854, thanks Emmanuel Seyman for the
13 report and Karen Etheridge for help tracking down the cause!)
14
78f164df 151.18 2015-01-20 12:20:46-06:00 America/Chicago
16 - Fix tests on travisci so that Catalyst proper can run on travisci
17 (Thanks André Walker!)
18
eb3ab200 191.17 2014-10-23 19:58:46-05:00 America/Chicago
27829ab7 20 - Make 3xx status codes skip serialization when there is no data to serialize
ffef3497 21 (Thanks Jesse Sheidlower!)
c3d115c8 22
231.16 2014-09-12 13:21:43-05:00 America/Chicago
27829ab7 24 - Switch from JSON to JSON::MaybeXS to get a better choice of JSON parsers.
3ba4e173 25
0aceaa9b 261.15 2014-05-07 09:02:44-05:00 CST6CDT
27
27829ab7 28 - Added new status_see_other method for returning a 303 redirect.
29 - Added new status_moved method for returning a 301 redirect. (Matthew Keller)
0aceaa9b 30
9b5736d5 311.14 2013-12-27 15:32:19 America/Chicago
32
27829ab7 33 - Stop prompting for features at install time
da6b5a45 34
3ba4e173 351.13 2013-11-08 09:40:00 EST
7566d72f 36
27829ab7 37 - Fix tests to skip if YAML::Syck is not installed (Arthur Axel fREW Schmidt)
801ec379 38
3ba4e173 391.12 2013-09-03 13:00:00 EST
47c3e6b3 40
41 WARNING BACK COMPAT BREAKAGE FOLLOWS
42
27829ab7 43 Removed The YAML and HTML parser from the distro. You
47c3e6b3 44 should install these if you actually use them. They are listed as
45 optional dependencies going forward.
46
47 This is possibly a breaking change, but necessary for security and
48 considered acceptable since those formats have not generally
49 become preferred for web services.
50
51 In addition, the default de/serialization mappings for HTML and YAML
52 have been removed. You can add that back by adding the following to
53 you Configuration for the subclass of Catalyst::Controller::REST -
54
55 package Foo::Controller::Bar;
56
57 use Moose;
58 use namespace::autoclean;
59
60 BEGIN { extends 'Catalyst::Controller::REST' }
61 __PACKAGE__->config(
62 'map' => {
63 'text/html' => 'YAML::HTML',
64 'text/x-yaml' => 'YAML',
65 },
66 );
67
68 You should do this if you are using these de/serialization formats.
69
3ba4e173 701.11 2013-06-16 15:23:03 BST
71
27829ab7 72 - Fix infinite recursion in tests under Catalyst 5.90040
3ba4e173 73
741.10 2013-04-22 14:36:53 BST
75
27829ab7 76 - Use YAML rather than JSON in basic tests
e0323f6a 77
3ba4e173 781.09 2013-04-19 13:34:38 BST
81b9fff3 79
27829ab7 80 - Don't load Data::Serializer unnecessarily in tests
45d02f45 81
3ba4e173 821.08 2013-04-16 08:33:00 BST
1bb213fc 83
27829ab7 84 - Factor Data::Serializable into it's own dist to stop breakages.
1bb213fc 85
3ba4e173 86 If you use any of:
1bb213fc 87
3ba4e173 88 * Data::Dumper
89 * Data::Denter
90 * Data::Taxi
91 * Config::General
92 * PHP::Serialization
93
94 You'll need to install Catalyst-Action-Serialize-Data-Serializer and add the
95 appropriate lines to your controller config. Said lines may be:
1bb213fc 96
97 'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ],
98 'text/x-data-denter' => [ 'Data::Serializer', 'Data::Denter' ],
99 'text/x-data-taxi' => [ 'Data::Serializer', 'Data::Taxi' ],
100 'text/x-config-general' => [ 'Data::Serializer', 'Config::General' ],
101 'text/x-php-serialization' => [ 'Data::Serializer', 'PHP::Serialization' ],
102
3ba4e173 1031.07 2013-04-11 20:20:00 BST
104
27829ab7 105 - Don't serialize if a view is explicitly set.
3ba4e173 106
107 - If the controller sets the view in $c->stash->{current_view} or
108 $c->stash->{current_view_instance}, then it is explicitly requesting a
109 certain kind of serialization and C::A::Serialize shouldn't override
110 that.
111
27829ab7 112 - Remove Storable and FreezeThaw from the list
3ba4e173 113 of serialization methods offered by default, and
114 from the docs - they're totally unsafe :/
115
1161.06 2012-12-11 22:04:00 UTC
117
27829ab7 118 - Sort list of allowed methods. RT#81825
3ba4e173 119
1201.05 2012-07-02 20:13:00 BST
121
27829ab7 122 - Bugfix get_allowed_methods list:
3ba4e173 123 - include HEAD
124 - remove "not_implemented"
125
1261.04 2012-06-30 10:25:00 BST
127
27829ab7 128 - Bugfix to _dispatch_rest_method
3ba4e173 129
1301.03 2012-06-28 00:40:00 BST
131
27829ab7 132 - Expose _get_allowed_methods to the API (wreis)
3ba4e173 133
27829ab7 134 - Fix default OPTIONS handler: As the ->body is defined, then serialization
3ba4e173 135 won't happen and we don't get wrong responses. (wreis)
136
27829ab7 137 - Add default HEAD handler: auto dispatches to _GET method if it exists (wreis)
3ba4e173 138
1391.02 2012-06-05 22:23:00 BST
140
27829ab7 141 - Fix forwarded REST methods, e.g. foo_GET to be more
3ba4e173 142 correctly displayed as a forward in the stats info.
143
27829ab7 144 - Make public response building methods for errors
3ba4e173 145 _unsupported_media_type and _serialize_bad_request which
146 can be extended from an action-role to return custom
147 error response.
148
1491.01 2012-05-29 20:19:00 BST
150
27829ab7 151 - Add Catalyst::Action::Deserialize::JSON::XS
3ba4e173 152
27829ab7 153 - Fix JSON::XS useage to depend on JSON.pm v2.0, and rely on the
3ba4e173 154 fact that can be backed by XS code, by explicitly setting
155 $ENV{'PERL_JSON_BACKEND'} = 2
156
1571.00 2012-04-13 09:31:00 BST
158
27829ab7 159 - Repack without auto_include to stop Module::Install inlining
3ba4e173 160 Test::More without Test::Builder. RT#76524
161
1620.99 2012-02-28 09:09:00 UTC
163
27829ab7 164 - Repack with new Module::Install to stop depending on an unnecessary
3ba4e173 165 ExtUtils::MakeMaker version.
166
1670.98 2012-02-21 11:40:00 UTC
6e7da253 168
27829ab7 169 - More fixes as per last release.
6e7da253 170
3ba4e173 1710.97 2012-02-21 09:58:00 UTC
7b46eb07 172
27829ab7 173 - Fix test with latest Catalyst version which passes _log into
3ba4e173 174 requests.
04f96b73 175
3ba4e173 1760.96 2012-01-20 11:22:00 UTC
91bb5224 177
27829ab7 178 - Added fix for RT 63537 (from Gerv) and tests to check it.
6da8e448 179
3ba4e173 1800.95 2012-01-04 19:34:00 UTC
c8ca5f59 181
27829ab7 182 - Fix regex for JSONP parameter name to be able to include the . character
3ba4e173 183 in Catalyst::Action::Serialize::JSONP. RT#73741
c8ca5f59 184
27829ab7 185 - Add optional location parameter to status_accepted handler. RT#73691 (ghenry)
c8ca5f59 186
3ba4e173 1870.94 2011-12-09 08:35:00 UTC
3c4306f2 188
27829ab7 189 - Add 403 Forbidden and 302 Not Found status methods to
3ba4e173 190 Catalyst::Controller::REST (Caleb Cushing)
d1158d58 191
3ba4e173 1920.93 2011-10-12 11:37:00 America/Chicago
fcc4f3f2 193
27829ab7 194 - Add a "Callback" serializer/deserializer to allow for more customization in
3ba4e173 195 how the REST data is parsed/generated (bphillips)
fcc4f3f2 196
3ba4e173 1970.92 2011-10-01 11:04:00 BST
df5f9ffc 198
27829ab7 199 - Add a Catalyst::Action::DeserializeMultiPart, allowing one part of a multipart
3ba4e173 200 request to be deserialized as the REST data (allowing other parts to be used for
201 file uploads, for example) (bphillips)
3ed677b1 202
3ba4e173 2030.91 2011-08-04 14:37:21 Europe/Berlin
351f252f 204
27829ab7 205 - For the deserialization action class, make the HTTP methods it operates on
3ba4e173 206 configurable on a per-action level (plu, rafl).
1f22d6b3 207
3ba4e173 2080.90 2011-02-25 13:56:00 UTC
8aa1a2ee 209
27829ab7 210 - Remove test which is no longer applicable and fails in the latest Catalyst
3ba4e173 211 release.
f2d34339 212
3ba4e173 2130.89 2011-01-24 21:57:42 UTC
259c53c7 214
27829ab7 215 - All classes are now made immutable. (Dave Rolsky)
f51d80cd 216
27829ab7 217 - Added a Catalyst::Action::REST::ForBrowsers class. This will try to dispatch
3ba4e173 218 GET requests to a foo_GET_html method before trying foo_GET. (Dave Rolsky)
1c4b501b 219
3ba4e173 2200.88 2011-01-11 23:07:00 UTC
8894935c 221
27829ab7 222 - Fix documentation for overriding Serialize and Deserialize actions
3ba4e173 223 in Catalyst::Controller::REST.
04eaf278 224
27829ab7 225 - Avoid warning with empty response bodies and new Catalyst version
3ba4e173 226 (>= 5.80030)
48ff1e96 227
27829ab7 228 - Returning a body of '' is now possible - Catalyst::Action::Serialize
3ba4e173 229 acts like Catalyst::Action::RenderView (>= 0.16) by using the has_body
230 predicate in Catalyst::Response (>= 5.80030)
84b1ebe6 231
3ba4e173 2320.87 2010-11-03 19:46:00 UTC
d5acc73a 233
27829ab7 234 - Fix Request class role when used with new Moose and other request
3ba4e173 235 class roles.
355d4385 236
3ba4e173 2370.86 2010-09-01 23:14:00 BST
786c212f 238
27829ab7 239 - Add rest_serializer_json_options config key useable to set options
3ba4e173 240 like relaxed => 1 to be passed to the JSON serializer (Ton Voon)
786c212f 241
27829ab7 242 - Make Data::Dumper unserializer safer by using a Safe compartment (Ton Voon)
e527bba3 243
3ba4e173 2440.85 2010-05-13 10:09:19 Europe/Berlin
e527bba3 245
27829ab7 246 - Make Catalyst::Action::Serialize::View return directly rather than serializing
3ba4e173 247 a response for 3XX status codes. This stops back-compat breakage from the
248 previous change (in 0.84), whilst also allowing actual data serializers
249 to still handle 3XX.
ad46030d 250
27829ab7 251 - Fix docs in Catalyst::TraitFor::Request::REST::ForBrowsers. (RT#54983)
0fd45d2a 252
3ba4e173 2530.84 2010-05-06 09:27:56 BST
0fd45d2a 254
27829ab7 255 - Revert always using a trait rather than Catalyst::Request::REST to improve
3ba4e173 256 debug messages.
96eccfeb 257
27829ab7 258 - Add a status_multiple_choices helper method to the Controller base class.
96eccfeb 259
27829ab7 260 - Allow 3XX responses to be serialized.
3accd912 261
3ba4e173 2620.83 2010-02-08 22:17:12 UTC
5578f739 263
27829ab7 264 - Make it possible to deserialize a request with a DELETE method. This probably
3ba4e173 265 breaks 'strict' REST guidelines, but is useful for being able to delete multiple
266 resources from a single call by providing a batch delete method.
96a61a60 267
27829ab7 268 - Remove JSONP from the list of default serializers (RT#54336)
3ba4e173 269 Fix MANIFEST (RT#54408)
96a61a60 270
3ba4e173 2710.82 2010-02-04 22:31:57 UTC
8ff24288 272
27829ab7 273 - Integrated Catalyst::Request::REST::ForBrowsers as
3ba4e173 274 Catalyst::TraitFor::Request::ForBrowsers. (Dave Rolsky)
8ff24288 275
27829ab7 276 - Clarified docs so that they encourage the use of the request traits, rather
3ba4e173 277 than using Catalyst::Request::REST. (Dave Rolsky)
8ff24288 278
27829ab7 279 - When Catalyst::Action::REST or Controller::REST automatically add the trait,
3ba4e173 280 your request class will no longer end up getting set to
281 Catalyst::Request::REST. Instead, creates an anon class with the appropriate
282 role. (Dave Rolsky)
04675068 283
27829ab7 284 - Shut up log output from the tests. (Dave Rolsky)
04675068 285
27829ab7 286 - Added a $VERSION to every module, mostly to make sure that when people
3ba4e173 287 install Catalyst::Request::REST::ForBrowsers, they get the version in this
288 distro. (Dave Rolsky)
04675068 289
27829ab7 290 - Change Catalyst::Action::Serialize, Catalyst::Action::Deserialize and
3ba4e173 291 Catalyst::Action::SerializeBase to be more Moose like.
04675068 292
27829ab7 293 - Fix JSON and JSON::XS to encode_blessed. (fREW)
294 - Fix Catalyst::Action::Serialize to use objects instead of classes. (fREW)
295 - Fix doc nits. (RT#53780)
04675068 296
3ba4e173 2970.81 2010-01-14 20:56:00 UTC
890738ab 298
27829ab7 299 - Add a JSONP serialization type.
05009b91 300
3ba4e173 3010.80 2009-12-19 14:54:00 UTC
2b1751a1 302
27829ab7 303 - Convert all classes to Moose
2b1751a1 304
27829ab7 305 - Change Catalyst::Request::REST to be a mostly empty class, with
3ba4e173 306 all the functionality in Catalyst::TraitFor::Request::REST
26b59bcb 307
27829ab7 308 - Simplify _get_allowed_methods method (aristotle)
732d8f5f 309
27829ab7 310 - Rework serializer return so that serializers throw an exception in
3ba4e173 311 the case of issues serializing the data (hobbs).
4f7a48d1 312
3ba4e173 3130.79 2009-12-11 01:08:00 UTC
a400ef8b 314
27829ab7 315 - Cope with invalid (missing required q parameter) header like:
3ba4e173 316 application/json; charset="utf-8"
489ee3ed 317
27829ab7 318 - Fix documentation to not mention deprecated things and generally be
3ba4e173 319 in better style.
489ee3ed 320
27829ab7 321 - Make author information consistant and only in one module.
e1844cd9 322
3ba4e173 3230.78 2009-09-28 15:01:03 BST
a05bebdc 324
27829ab7 325 - Require Moose for the tests (RT#50066).
5ebf67a4 326
3ba4e173 3270.77 2009-08-27 02:21:09 BST
5bbe8fb2 328
27829ab7 329 - Allow dispatching to Catalyst Actions, for use with ActionClasses
3ba4e173 330 etc - fREW
d3f3a2ed 331
27829ab7 332 - Fix test if CATALYST_DEBUG environment variable is set
d3f3a2ed 333
3ba4e173 3340.76 2009-08-21 21:20:52 BST
f3394d8c 335
27829ab7 336 - Added two new status response helpers (202 no content and 410 gone),
3ba4e173 337 and tests - Franck Cuny
5ebf67a4 338
3ba4e173 3390.75 2009-08-17 14:07:41 BST
9eb6ca8b 340
27829ab7 341 - Fix optional test failures in catalyst-action-serialize-accept.t
342 - Added a serializer for JSON::XS
343 - Made test independent of YAML::Syck bugs (dandv)
4ee24376 344
3ba4e173 3450.74 2009-07-22 23:49:16 BST (t0m)
c42820ae 346
27829ab7 347 - Switch from NEXT to MRO::Compat (agladdish).
428ec4a2 348
27829ab7 349 - Add display of additional REST actions in the stats, and also fix a warning
3ba4e173 350 in Catalyst 5.80 when you forward to another action from inside an
351 action_FOO method (as it was confusing the stats).
428ec4a2 352
27829ab7 353 - POD fixes
354 - Catalyst::Action::REST no longer @ISA Catalyst or Catalyst::Controller.
355 - Change constructor to call next::method instead of SUPER::
356 - Change method used to find the application class to be more correct
f41ab757 357
3ba4e173 3580.73 2009-06-27 20:20:09 America/New_York (hdp)
546f2871 359
27829ab7 360 - Packaging fixes
546f2871 361
3ba4e173 3620.72 2009-06-25 14:52:29 America/New_York (hdp)
d1e10509 363
27829ab7 364 - Refresh Module::Install
db8bb647 365
3ba4e173 3660.71 2009-03-28 09:16:09 America/Los_Angeles (hdp)
665a446d 367
27829ab7 368 - Fix RT#44641, missing documented 'end' action
0566b5e4 369
3ba4e173 3700.70 2009-03-27 23:21:17 America/Los_Angeles (hdp)
0566b5e4 371
27829ab7 372 - Tests that use JSON were either not checking for the version or checking in a
373 - way that was a syntax error.
c4ab3598 374
3ba4e173 3750.69 2009-03-26 14:16:03 America/Los_Angeles (hdp)
cbb06078 376
27829ab7 377 - Fix RT#32342, deprecated config loses default map (hdp)
378 - Fix broken insertion of Catalyst::Request::REST for Action::REST (jshirley)
bb55dba1 379
3ba4e173 3800.68 2009-03-25 22:33:38 America/Los_Angeles (hdp)
8088a6f3 381
27829ab7 382 - Remove prompt for ancient and deprecated Data::Denter from Makefile.PL
383 - Remove Data::Dump, which was entirely unused
384 - Stop tests from dying with Catalyst 5.80
ef7fdb48 385
3ba4e173 3860.67 2009-03-25 21:59:59 America/Los_Angeles (hdp)
888f25e3 387
27829ab7 388 - (no changes from 0.67_01)
8b010556 389
3ba4e173 3900.67_01 2009-03-25 09:36:00 America/Los_Angeles (hdp)
7b8c5be2 391
27829ab7 392 - Fix RT#43840, improper app-level config handling
393 - Fix RT#42859, 'wrong' Catalyst dependency
394 - Fix RT#42025, stepping on custom request classes
3d38a43f 395
3ba4e173 3960.65 2008-08-20 10:42:00 America/Los_Angeles (jshirley)
b946af8e 397
27829ab7 398 - Fully revamped tests to work without any JSON support
399 - Final removal of JSON::Syck
400 - Special thanks to jgoulah for helping test this release
bc48916f 401
3ba4e173 4020.64 2008-08-13 08:55:00 America/Los_Angeles (jshirley)
2f7533ed 403
27829ab7 404 - New dist to fix issue with Module::Install
6023cdb2 405
3ba4e173 4060.63 2008-07-09 11:16:00 America/Los_Angeles (jshirley)
ebba5325 407
27829ab7 408 - Changing from JSON::Syck to JSON/JSON::XS
409 - Refactored tests to be more applicable to current state of affairs
df26b361 410
3ba4e173 4110.62 2008-07-02 07:53:00 America/Los_Angeles (jshirley)
832e768d 412
27829ab7 413 - Reshipping with current Module::Install included due to error reports
3ba4e173 414 about failed installs
d6fb033c 415
3ba4e173 4160.61 2008-06-30 12:28:00 America/Los_Angeles (jshirley)
9f16ba15 417
27829ab7 418 - Support official application/json and carp about text/x-json
d4611771 419
27829ab7 420 - Accepted patch from Luke Saunders for processing all accepted content types
bc343d3a 421
3ba4e173 4220.60 2008-01-03 17:23:58 America/Los_Angeles (adam)
423
27829ab7 424 - Updated my contact information.
3ba4e173 425
27829ab7 426 - Fixed RT#30498 - REST controller references Catalyst without
3ba4e173 427 loading it first.
428
27829ab7 429 - Fixed RT#32042 - Import of Params::Validate :all plays badly
3ba4e173 430 with subclasses that have their own validate()
431
27829ab7 432 - Fixed RT#30456 - Debug messages print even with debugging disabled
3ba4e173 433
27829ab7 434 - Fixed an issue where YAML::Syck versions 0.92 require $c->request->body to
3ba4e173 435 be stringified
436
27829ab7 437 - Updated the configuration specifiers to operate more in line with the way
7d5e38b4 438 Catalyst expects. Most notably component based configuration through
439 "Controller::RestClass" now works. "serialize" at the top level simply
440 is suggested defaults that all REST classes inherit.
bc343d3a 441
27829ab7 442 - Fixed 'default' serializer to set a valid Content-Type: header. Fixes
7d5e38b4 443 RT ticket 27949. Note that behavior has changed -- the default
444 serializer must now be specified as a content-type, not as a plugin
445 name. (dmo@roaringpenguin.com)
367b3ff4 446
3ba4e173 4470.41 2007-05-24 14:01:06 America/Los_Angeles (adam)
448
27829ab7 449 - Moved a bogus $self->class to $c->component($self->class)
3ba4e173 450
4510.40 2007-03-09 14:13:29 America/Los_Angeles (adam)
452
27829ab7 453 - Refactored the Content-Type negotiation to live in Catalyst::Request::REST. (drolsky)
454 - Added some useful debugging. (drolsky)
455 - Added a View serializer/deserializer, which simply calls the correct
456 - Catalyst view. ('text/html' => [ 'View', 'TT' ]) (claco, adam)
3ba4e173 457
4580.31 2006-12-06 00:45:02 America/Los_Angeles (adam)
459
27829ab7 460 - Fixed a bug where we would report a blank content-type negotiation.
461 - Added Data::Dump as a dependency.
3ba4e173 462
27829ab7 463 - Made the YAML::HTML view automatically append content-type=text/html on
3ba4e173 464 the resulting URLs.
465
4660.30 2006-12-03 12:24:16 America/Los_Angeles (adam)
467
27829ab7 468 - Updated the Makefile to support optional installation of the different
3ba4e173 469 Serialization formats.
470
27829ab7 471 - Renamed some of the test cases, since the execution order doesn't
3ba4e173 472 matter.
473
27829ab7 474 - Fixed things so that not having a Serialization module returns 415.
475 - Fixed things so that failure to Deserialize sends the proper status.
476 - Refactored the Plugin loading to Catalyst::Action::SerializeBase.
477 - Updated the Documentation.
3ba4e173 478
27829ab7 479 - Added a whole raft of serializers. (JSON, all the Data::Serializer
3ba4e173 480 supported ones, and XML::Simple)
481
27829ab7 482 - Added test cases.
3ba4e173 483
27829ab7 484 - Refactored the Catalyst::Action::REST dispatch, so that the default
3ba4e173 485 method is called before any _METHOD handlers. In addition, moved
486 the 405 Not Implemented handler to be foo_not_implemented, instead
487 of the default sub. (daisuke++ pointed out the inconsistency and
488 provided a patch, and I added the foo_not_implemented support)
489
27829ab7 490 - Added in automated OPTIONS handler, which constructs the allow
3ba4e173 491 header for you, just like the 405 handler. Can be overridden
492 with a normal _METHOD sub.
493
27829ab7 494 - Refactored Test::Rest, so that it uses closures to create the
3ba4e173 495 very similar $test->method() subs.
496
27829ab7 497 - Added tests for Catalyst::Action::REST.
3ba4e173 498
4990.2 2006-11-30 17:14:51 America/Los_Angeles (adam)
500
27829ab7 501 - Added documentation patch from Daisuke Maki (daisuke@endeworks.jp)
502 - Added dependency patch from Daisuke Maki (daisuke@endeworks.jp)
3ba4e173 503
5040.1 2006-11-19 16:24:20 America/Los_Angeles (adam)
505
27829ab7 506 - Added status_accepted (Code 202)
507 - Added a first pass at documentation.
508 - Added in Test Suite
509 - Created Catalyst::Action::Serialize and Catalyst::Action::Deserialize
510 - Added Data::Serializer actions
511 - Added status_created helper method
512 - Added more status_ helpers
3ba4e173 513
27829ab7 514 - Converted error helpers to return an object instead of plain-text. It's
3ba4e173 515 a more consistent model than a text/plain error message.
516
27829ab7 517 - Added logging to 4xx status handlers
bdc54939 518