Page MenuHomePhabricator

Replace AphrontUsageException with AphrontMalformedRequestException

Authored by epriestley on Sep 3 2015, 12:33 PM.
Referenced Files
Unknown Object (File)
Sat, Feb 4, 10:18 PM
Unknown Object (File)
Sat, Feb 4, 4:24 AM
Unknown Object (File)
Mon, Jan 30, 4:43 PM
Unknown Object (File)
Tue, Jan 24, 9:47 AM
Unknown Object (File)
Thu, Jan 19, 8:12 AM
Unknown Object (File)
Fri, Jan 13, 9:12 PM
Unknown Object (File)
Fri, Jan 13, 9:07 PM
Unknown Object (File)
Fri, Jan 13, 9:07 PM
"Like" token, awarded by demo.



Ref T1806. Ref T7173. Context here is that I want to fix "you can not log in to this instance" being a confusing mess with an opaque error. To do this without hacks, I want to:

  • clean up some exception handling behavior (this diff);
  • modularize exception handling (next diff);
  • replace confusing, over-general exceptions with tailored ones in the Phacility cluster, using the new modular stuff.

This cleans up an awkward "AphrontUsageException" which does some weird stuff right now. In particular, it is extensible and extended in one place in Diffusion, but that extension is meaningless.

Realign this as "AphrontMalformedRequestException", which is a better description of what it is and does: raises errors before we can get as far as normal routing and site handling.

Test Plan

Hit some of these exceptions, saw the expected "abandon all hope" error page.

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Replace AphrontUsageException with AphrontMalformedRequestException.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
This revision is now accepted and ready to land.Sep 3 2015, 12:38 PM
This revision now requires review to proceed.Sep 3 2015, 12:39 PM
  • Improve logging behavior and describe things in more detail.
chad edited edge metadata.
This revision is now accepted and ready to land.Sep 3 2015, 3:39 PM
This revision was automatically updated to reflect the committed changes.