package st.gravel.tools;
import java.io.IOException;
import java.lang.invoke.MethodHandle;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import st.gravel.support.jvm.runtime.MethodTools;
public class JettyToStHttpServletConverter extends HttpServlet
{
private MethodHandle doGet_response_;
private MethodHandle doPost_response_;
public JettyToStHttpServletConverter(Object stServlet) {
super();
this.stServlet = stServlet;
this.doGet_response_ = MethodTools.getHandle(stServlet, "doGet:response:");
this.doPost_response_ = MethodTools.getHandle(stServlet, "doPost:response:");
}
private static final long serialVersionUID = 1L;
private final Object stServlet;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try {
doGet_response_.invoke(stServlet, request, response);
} catch (Throwable e) {
throw new RuntimeException(e);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try {
doPost_response_.invoke(stServlet, request, response);
} catch (Throwable e) {
throw new RuntimeException(e);
}
}
}