1

Play で問題が発生しています。Framework 2.1.1

アプリケーション (Play! 2.1.1) に大きな (100kb+) リクエストを送信すると、「413 Request Entity Too Large」というメッセージが表示されますが、これは 100kb の制限がデフォルトであるため問題ありません。

ただし、約104kbを送信すると(おそらくこの数は私だけのものです)、再び200 OKを取得しますが、request().body()nullとしてすべてのフォームエンティティも...

413 を返す必要があるのに、200 OK を取得してコードを実行するのはなぜですか?

ハックっぽい修正は次のとおりです(GlobalSettingsを拡張する私のGlobal.java内):

@Override
public Action onRequest(Request request, Method actionMethod) {
    if(request.body().isMaxSizeExceeded()) {
        return new Action.Simple() {

            @Override
            public Result call(Context arg0) throws Throwable {
                return Action.status(413);
            }
        };
    }
    return super.onRequest(request, actionMethod);
}

編集:上記のコードは、すべての (?) ルートのリクエストが 413 を返すようにします。

413 の場合に JSON を返したいのですが、どうすれば実現できますか?

4

0 に答える 0