public static void setContentType(Resp resp, MediaType mediaType) { resp.contentType(mediaType); }
private Object renderError(Req req, Resp resp, Throwable error) { if (resp.contentType() == MediaType.JSON) { return HttpUtils.getErrorInfo(resp, error); } else if (resp.contentType() == MediaType.PLAIN_TEXT_UTF_8) { return HttpUtils.getErrorMessageAndSetCode(resp, error); } else { return page(req, resp, error); } }
private static HttpResponseRenderer mediaResponseRenderer(Resp resp) { Customization customization = Customization.of(resp.request()); if (resp.contentType().equals(MediaType.JSON)) { return customization.jsonResponseRenderer(); } else if (resp.contentType().equals(MediaType.XML_UTF_8)) { return customization.xmlResponseRenderer(); } else { // defaults to json return customization.jsonResponseRenderer(); } }
public static RespBody resultToRespBody(Resp resp, Object result) { if (result instanceof RespBody) return (RespBody) result; byte[] bytes = HttpUtils.responseToBytes(resp.request(), result, resp.contentType(), mediaResponseRenderer(resp)); return new RespBodyBytes(bytes); }
protected Object defaultErrorHandling(Req req, Throwable error) { if (error instanceof NotFound) { Resp resp = req.response().code(404); if (resp.contentType() == MediaType.JSON) { return error; } else { return resp.view("404").result(U.map("req", req)); } } return error; }
ctype = resp.contentType(); code = resp.code();
private void execHandlerJob(final Channel channel, final boolean isKeepAlive, final MediaType contentType, final Req req) { With.tag(CTX_TAG_HANDLER).exchange(req).run(() -> { try { req.response() .view(options.view()) .contentType(options.contentType()) .mvc(options.mvc()); handleWithWrappers(channel, isKeepAlive, contentType, req, wrappers.get()); } catch (Throwable e) { handleError(req, e); } }); }
private void process(final Req req, final Resp resp, final ProxyMapping mapping, final int attempts, final long since) { final String targetUrl = mapping.getTargetUrl(req); Map<String, String> headers = U.map(req.headers()); headers.remove("transfer-encoding"); headers.remove("content-length"); addExtraRequestHeaders(req, headers); HttpClient client = getOrCreateClient(); client.req() .verb(req.verb()) .url(targetUrl) .headers(headers) .cookies(req.cookies()) .body(req.body()) .raw(true) .execute((result, error) -> { if (error == null) { resp.code(result.code()); resp.body(result.bodyBytes()); // process the response headers SimpleHttpResp proxyResp = new SimpleHttpResp(); HttpUtils.proxyResponseHeaders(result.headers(), proxyResp); if (proxyResp.contentType != null) resp.contentType(proxyResp.contentType); if (proxyResp.headers != null) resp.headers().putAll(proxyResp.headers); if (proxyResp.cookies != null) resp.cookies().putAll(proxyResp.cookies); resp.done(); } else { handleError(error, req, resp, mapping, attempts, since); } }); }
public static void setContentType(Resp resp, MediaType mediaType) { resp.contentType(mediaType); }
private Object renderError(Req req, Resp resp, Throwable error) { if (resp.contentType() == MediaType.JSON) { return HttpUtils.getErrorInfo(resp, error); } else if (resp.contentType() == MediaType.PLAIN_TEXT_UTF_8) { return HttpUtils.getErrorMessageAndSetCode(resp, error); } else { return page(req, resp, error); } }
private static HttpResponseRenderer mediaResponseRenderer(Resp resp) { Customization customization = Customization.of(resp.request()); if (resp.contentType().equals(MediaType.JSON)) { return customization.jsonResponseRenderer(); } else if (resp.contentType().equals(MediaType.XML_UTF_8)) { return customization.xmlResponseRenderer(); } else { // defaults to json return customization.jsonResponseRenderer(); } }
public static RespBody resultToRespBody(Resp resp, Object result) { if (result instanceof RespBody) return (RespBody) result; byte[] bytes = HttpUtils.responseToBytes(resp.request(), result, resp.contentType(), mediaResponseRenderer(resp)); return new RespBodyBytes(bytes); }
protected Object defaultErrorHandling(Req req, Throwable error) { if (error instanceof NotFound) { Resp resp = req.response().code(404); if (resp.contentType() == MediaType.JSON) { return error; } else { return resp.view("404").result(U.map("req", req)); } } return error; }
public static void assignJsonResponseToReq(Req req, int code, Object json) { req.response().code(code); req.response().contentType(MediaType.APPLICATION_JSON); req.response().json(json); }
public static void assignJsonBytesToReq(Req req, int code, byte[] bytes) { req.response().code(code); req.response().contentType(MediaType.APPLICATION_JSON); req.response().body(bytes); } }
@Override public void onDone(HttpResp result, Throwable error) { if (error == null) { resp.code(result.code()); resp.body(result.bodyBytes()); // process the response headers SimpleHttpResp proxyResp = new SimpleHttpResp(); HttpUtils.proxyResponseHeaders(result.headers(), proxyResp); if (proxyResp.contentType != null) resp.contentType(proxyResp.contentType); if (proxyResp.headers != null) resp.headers().putAll(proxyResp.headers); if (proxyResp.cookies != null) resp.cookies().putAll(proxyResp.cookies); resp.done(); } else { handleError(error, req, resp, mapping, attempts, since); } }
@Override public void run() { try { req.response() .view(options.view()) .contentType(options.contentType()) .mvc(options.mvc()); handleWithWrappers(channel, isKeepAlive, contentType, req, wrappers.get()); } catch (Throwable e) { handleError(req, e); } }
ctype = resp.contentType(); code = resp.code();