package io.undertow.servlet.test.async; import io.undertow.util.StatusCodes; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @author Stuart Douglas */ public class AsyncErrorServlet extends HttpServlet { @Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { req.startAsync(); Thread t = new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(100); resp.sendError(StatusCodes.INTERNAL_SERVER_ERROR); } catch (Exception e) { throw new RuntimeException(e); } } }); t.start(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }