Использование реального HTTP-кода ошибки в калитке - PullRequest
2 голосов
/ 10 января 2012

Мне нужно ответить с кодом ошибки. Когда я использую AbortWithHttpStatusException, мой ответ такой:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
portlet.http-status-code: 507
Content-Type: text/html;charset=UTF-8
Content-Length: 0
Date: Tue, 10 Jan 2012 09:49:52 GMT

, который интерпретируется браузером (по крайней мере, Firefox) как 200 OK, что кажется нормальным, поскольку в начале есть HTTP/1.1 200 OK. Как я могу заставить калитку вернуть другой http-код?

Я использую калитку 1.4.18

1 Ответ

0 голосов
/ 22 сентября 2013

Мне нужно было то же настроить код состояния HTTP (например, 404 не найден) в функциональности Wicket (не с портлетом), и configureResponse() прекрасно работает:

package org.soluvas.web.bootstrap;

import org.apache.wicket.request.http.WebResponse;

/**
 * @author atang
 *
 */
public class PageNotFound extends BootstrapPage {

    private static final long serialVersionUID = 1L;

    public PageNotFound() {
        super();
//      add(new Page404());
    }

    @Override
    protected void configureResponse(WebResponse response) {
        super.configureResponse(response);
        response.setStatus(404);
    }

}

Взято из проекта https://github.com/soluvas/soluvas-web.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...