package org.jooby.issues; import java.util.concurrent.Executors; import org.jooby.MediaType; import org.jooby.Results; import org.jooby.json.Jackson; import org.jooby.test.ServerFeature; import org.junit.Test; public class Issue482 extends ServerFeature { static class Raw { String value; public Raw(final String value) { this.value = value; } } { /** Raw JSON renderer .*/ renderer((value, ctx) -> { if (value instanceof String && ctx.accepts(MediaType.json)) { ctx.send(value.toString()); } }); use(new Jackson()); executor(Executors.newSingleThreadExecutor()); get("/482/raw", deferred(() -> { return Results.json("{\"status\":\"success\"}"); })); } @Test public void shouldAcceptResultsFromDeferredAPI() throws Exception { request() .get("/482/raw") .expect("{\"status\":\"success\"}") .header("Content-Type", "application/json;charset=UTF-8"); } }