Previously, we relied on raising a swob.HTTPException from within a wrapped wsgi.input and just hoping that it either - comes uncaught all the way back through the pipeline, or at least - gets translated back to a 422 response. This was brittle, however; if any middleware between s3api and the proxy took s3api's approach of turning unexpected responses into 500s, for example, it all breaks down. Take a cue from eventlet's Timeout and create a new s3api-specific BaseException (which does *not* inherit from Exception) to improve our ability to cut through all the layers. Change-Id: I9924ff3b8d7d246631fe61b916823e028e2c01f2
63 KiB
63 KiB