0

全て、

ハンドラーからエラーアウト/実行を終了する方法はありますか?たとえば、着信リクエストに正しいヘッダーが含まれていない場合は、400を送信して、接続を終了/終了します。ただし、とにかく実行した後にself.error(400)またはself.response.set_status(400)他のコードを使用するときはいつでも、たとえば、次のようになります。

class MyPastaHandler(webapp2.Handler):
   def get():
      if not self.request.headers.get('My-Custom-Header'):
         self.error(400)
      ...
      [more code]
      self.response.out.write('{"success": "true"}')

上記のカスタムヘッダーなしでリクエストを送信すると、400が返されますが、応答の本文に成功jsonも表示されます。これは、self.error(400)実行を停止せず、どちらも停止しないことを示していself.response.set_status(400)ます。

それで、問題は、ハンドラーから文字通りエラーを出すことは可能ですか?

4

2 に答える 2

0

結局のところ、400(またはカスタムエラー)の後で終了する簡単な方法があります。returnAppEngine IRCチャネルのTheFluffで説明されているように、self.error(400)の後の単純な、昔ながらの空がトリックを実行します。

于 2012-11-14T13:55:11.920 に答える
0

webapp2 では、abort() は HTTP 例外を発生させるショートカットです: http://webapp-improved.appspot.com/guide/exceptions.html#abort

于 2012-11-14T14:35:32.323 に答える