Page MenuHomePhabricator

Modularize Aphront exception handling
ClosedPublic

Authored by epriestley on Sep 3 2015, 1:12 PM.

Details

Summary

Ref T1806. Ref T7173. Depends on D14047.

Currently, all exception handling is in this big messy clump in AphrontDefaultApplicationConfiguration.

Split it out into modular classes. This will let a future change add new classes in the Phacility cluster which intercept particular exceptions we care about and replaces the default, generic responses with more useful, tailored responses.

Test Plan

  • Hit a Conduit error (made a method throw).
  • Hit an Ajax error (made comment preview throw).
  • Hit a high security error (tried to edit TOTP).
  • Hit a rate limiting error (added a bunch of email addresses).
  • Hit a policy error (tried to look at something with no permission).
  • Hit an arbitrary exception (made a randomc ontroller throw).

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley updated this revision to Diff 33958.Sep 3 2015, 1:12 PM
epriestley retitled this revision from to Modularize Aphront exception handling.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad accepted this revision.Sep 3 2015, 3:53 PM
chad edited edge metadata.
chad added inline comments.
src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php
44

prefer setTable() which adds CSS specific to tables.

This revision is now accepted and ready to land.Sep 3 2015, 3:53 PM
epriestley updated this revision to Diff 33963.Sep 3 2015, 4:28 PM
epriestley edited edge metadata.
  • Use setTable() for all module tables.
This revision was automatically updated to reflect the committed changes.