public static HttpResponse newError(Request request, int status, Throwable error) { return new HttpResponse(request, status, formatMessage(error), error); }
@Override public void setCookies(List<Cookie> cookies) { parent.encodeSetCookieHeader(cookies); }
/** * Create a new HTTP response. * * @param status the HTTP status code to return with this response (may be changed later) * @see Response */ public HttpResponse(int status) { parentResponse = com.yahoo.jdisc.http.HttpResponse.newInstance(status); }
@Override public String getHeader(String name) { List<String> values = parent.headers().get(name); if (values == null || values.isEmpty()) { return null; } return values.get(values.size() - 1); }
public static HttpResponse newInstance(int status) { return new HttpResponse(null, status, null, null); }
@Override public void setStatus(int status) { parent.setStatus(status); }
private static void setStatus_holdingLock(Response jdiscResponse, HttpServletResponse servletResponse) { if (jdiscResponse instanceof HttpResponse) { setStatus(servletResponse, jdiscResponse.getStatus(), Optional.ofNullable(((HttpResponse) jdiscResponse).getMessage())); } else { setStatus(servletResponse, jdiscResponse.getStatus(), getErrorMessage(jdiscResponse)); } }
public static HttpResponse newInstance(int status, String message) { return new HttpResponse(null, status, message, null); }
@Override public void copyHeaders(HeaderFields target) { target.addAll(headers()); }
public static HttpResponse newInternalServerError(Request request, Throwable error) { return new HttpResponse(request, Status.INTERNAL_SERVER_ERROR, formatMessage(error), error); }
@Override public void addHeader(String name, String value) { parent.headers().add(name, value); }
@Override public void setHeader(String name, String value) { parent.headers().put(name, value); }
@Override public void setHeaders(String name, String value) { parent.headers().put(name, value); }
@Override public void removeHeaders(String name) { parent.headers().remove(name); }
@Override public void setHeaders(String name, List<String> values) { parent.headers().put(name, values); }
public List<Cookie> decodeSetCookieHeader() { List<String> cookies = headers().get(HttpHeaders.Names.SET_COOKIE); if (cookies == null) { return Collections.emptyList(); } List<Cookie> ret = new LinkedList<>(); for (String cookie : cookies) { ret.add(Cookie.fromSetCookieHeader(cookie)); } return ret; }