public class org.glassfish.grizzly.servlet.ServletHandler extends org.glassfish.grizzly.http.server.HttpHandler
{
private static final java.util.logging.Logger LOGGER;
static final org.glassfish.grizzly.http.Note SERVLET_REQUEST_NOTE;
static final org.glassfish.grizzly.http.Note SERVLET_RESPONSE_NOTE;
static final org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener servletAfterServiceListener;
protected java.lang.String servletClassName;
protected java.lang.Class servletClass;
protected volatile jakarta.servlet.Servlet servletInstance;
private java.lang.String contextPath;
private final java.lang.Object lock;
private final org.glassfish.grizzly.servlet.WebappContext servletCtx;
private final org.glassfish.grizzly.servlet.ServletConfigImpl servletConfig;
private org.glassfish.grizzly.http.server.SessionManager sessionManager;
protected final java.util.Map properties;
protected boolean initialize;
protected java.lang.ClassLoader classLoader;
protected org.glassfish.grizzly.servlet.ExpectationHandler expectationHandler;
protected org.glassfish.grizzly.servlet.FilterChainFactory filterChainFactory;
private java.util.List onDestroyListeners;
protected void <init>(org.glassfish.grizzly.servlet.ServletConfigImpl)
{
org.glassfish.grizzly.http.server.SessionManager v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.lang.Object v;
java.util.HashMap v;
jakarta.servlet.ServletContext v;
org.glassfish.grizzly.servlet.ServletConfigImpl v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.servlet.ServletConfigImpl;
specialinvoke v.<org.glassfish.grizzly.http.server.HttpHandler: void <init>()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance> = null;
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath> = "";
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.Object lock> = v;
v = staticinvoke <org.glassfish.grizzly.servlet.ServletSessionManager: org.glassfish.grizzly.http.server.SessionManager instance()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.server.SessionManager sessionManager> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.Map properties> = v;
v.<org.glassfish.grizzly.servlet.ServletHandler: boolean initialize> = 1;
v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ServletConfigImpl servletConfig> = v;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletConfigImpl: jakarta.servlet.ServletContext getServletContext()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext servletCtx> = v;
return;
}
public void start()
{
java.lang.Throwable v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.util.logging.Logger v;
java.util.logging.Level v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
label:
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void configureServletEnv()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "start", v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected boolean sendAcknowledgment(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response) throws java.io.IOException
{
org.glassfish.grizzly.servlet.ExpectationHandler v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.ServletHandler v;
org.glassfish.grizzly.http.server.Response v;
boolean v, v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v := @parameter: org.glassfish.grizzly.http.server.Response;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ExpectationHandler expectationHandler>;
if v != null goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.server.HttpHandler: boolean sendAcknowledgment(org.glassfish.grizzly.http.server.Request,org.glassfish.grizzly.http.server.Response)>(v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void service(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response) throws java.lang.Exception
{
java.lang.Throwable v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.ServletHandler v;
org.glassfish.grizzly.http.server.Response v;
java.lang.Thread v, v, v, v;
java.lang.ClassLoader v, v, v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v := @parameter: org.glassfish.grizzly.http.server.Response;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader classLoader>;
if v == null goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader classLoader>;
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
label:
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void doServletService(org.glassfish.grizzly.http.server.Request,org.glassfish.grizzly.http.server.Response)>(v, v);
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
throw v;
label:
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void doServletService(org.glassfish.grizzly.http.server.Request,org.glassfish.grizzly.http.server.Response)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void doServletService(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response)
{
java.lang.Throwable v;
org.glassfish.grizzly.servlet.ExpectationHandler v, v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.ServletHandler v;
org.glassfish.grizzly.http.server.Response v;
org.glassfish.grizzly.servlet.ServletHandler$AckActionImpl v;
java.util.logging.Level v;
org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener v;
int v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v;
org.glassfish.grizzly.servlet.FilterChainInvoker v;
org.glassfish.grizzly.servlet.HttpServletRequestImpl v;
org.glassfish.grizzly.servlet.HttpServletResponseImpl v;
java.util.logging.Logger v;
org.glassfish.grizzly.servlet.WebappContext v, v;
org.glassfish.grizzly.http.Note v, v;
org.glassfish.grizzly.http.util.Header v;
jakarta.servlet.Servlet v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v := @parameter: org.glassfish.grizzly.http.server.Response;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Request: java.lang.String getRequestURI()>();
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath>;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath>;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v != 0 goto label;
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void customizeErrorPage(org.glassfish.grizzly.http.server.Response,java.lang.String,int,java.lang.Throwable)>(v, "Resource Not Found", 404, null);
label:
return;
label:
v = staticinvoke <org.glassfish.grizzly.servlet.HttpServletRequestImpl: org.glassfish.grizzly.servlet.HttpServletRequestImpl create()>();
v = staticinvoke <org.glassfish.grizzly.servlet.HttpServletResponseImpl: org.glassfish.grizzly.servlet.HttpServletResponseImpl create()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void setPathData(org.glassfish.grizzly.http.server.Request,org.glassfish.grizzly.servlet.HttpServletRequestImpl)>(v, v);
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext servletCtx>;
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletRequestImpl: void initialize(org.glassfish.grizzly.http.server.Request,org.glassfish.grizzly.servlet.HttpServletResponseImpl,org.glassfish.grizzly.servlet.WebappContext)>(v, v, v);
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletResponseImpl: void initialize(org.glassfish.grizzly.http.server.Response,org.glassfish.grizzly.servlet.HttpServletRequestImpl)>(v, v);
v = <org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.Note SERVLET_REQUEST_NOTE>;
virtualinvoke v.<org.glassfish.grizzly.http.server.Request: void setNote(org.glassfish.grizzly.http.Note,java.lang.Object)>(v, v);
v = <org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.Note SERVLET_RESPONSE_NOTE>;
virtualinvoke v.<org.glassfish.grizzly.http.server.Request: void setNote(org.glassfish.grizzly.http.Note,java.lang.Object)>(v, v);
v = <org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener servletAfterServiceListener>;
virtualinvoke v.<org.glassfish.grizzly.http.server.Request: void addAfterServiceListener(org.glassfish.grizzly.http.server.AfterServiceListener)>(v);
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void loadServlet()>();
v = specialinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String getCombinedPath(jakarta.servlet.http.HttpServletRequest)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void setDispatcherPath(org.glassfish.grizzly.http.server.Request,java.lang.String)>(v, v);
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext servletCtx>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.WebappContext: java.lang.String getServerInfo()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header Server>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.Header: java.lang.String toString()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletResponseImpl: void addHeader(java.lang.String,java.lang.String)>(v, v);
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ExpectationHandler expectationHandler>;
if v == null goto label;
v = new org.glassfish.grizzly.servlet.ServletHandler$AckActionImpl;
specialinvoke v.<org.glassfish.grizzly.servlet.ServletHandler$AckActionImpl: void <init>(org.glassfish.grizzly.http.server.Response)>(v);
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ExpectationHandler expectationHandler>;
interfaceinvoke v.<org.glassfish.grizzly.servlet.ExpectationHandler: void onExpectAcknowledgement(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.glassfish.grizzly.servlet.ExpectationHandler$AckAction)>(v, v, v);
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler$AckActionImpl: boolean isAcknowledged()>();
if v != 0 goto label;
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler$AckActionImpl: void acknowledge()>();
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler$AckActionImpl: boolean isFailAcknowledgement()>();
if v == 0 goto label;
label:
return;
label:
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.FilterChainInvoker getFilterChain(org.glassfish.grizzly.http.server.Request)>(v);
if v == null goto label;
interfaceinvoke v.<org.glassfish.grizzly.servlet.FilterChainInvoker: void invokeFilterChain(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v);
goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
interfaceinvoke v.<jakarta.servlet.Servlet: void service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v);
label:
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletRequestImpl: void onAfterService()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "service exception:", v);
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void customizeErrorPage(org.glassfish.grizzly.http.server.Response,java.lang.String,int,java.lang.Throwable)>(v, "Internal Error", 500, v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected org.glassfish.grizzly.servlet.FilterChainInvoker getFilterChain(org.glassfish.grizzly.http.server.Request)
{
org.glassfish.grizzly.servlet.FilterChainFactory v, v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.FilterChainImpl v;
org.glassfish.grizzly.servlet.ServletHandler v;
jakarta.servlet.Servlet v;
jakarta.servlet.DispatcherType v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.FilterChainFactory filterChainFactory>;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.FilterChainFactory filterChainFactory>;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType REQUEST>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.FilterChainFactory: org.glassfish.grizzly.servlet.FilterChainImpl createFilterChain(org.glassfish.grizzly.http.server.Request,jakarta.servlet.Servlet,jakarta.servlet.DispatcherType)>(v, v, v);
return v;
label:
return null;
}
private void setDispatcherPath(org.glassfish.grizzly.http.server.Request, java.lang.String)
{
java.lang.String v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v := @parameter: java.lang.String;
virtualinvoke v.<org.glassfish.grizzly.http.server.Request: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.catalina.core.DISPATCHER_REQUEST_PATH", v);
return;
}
private java.lang.String getCombinedPath(jakarta.servlet.http.HttpServletRequest)
{
jakarta.servlet.http.HttpServletRequest v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.lang.String v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getServletPath()>();
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getPathInfo()>();
if v != null goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getServletPath()>();
return v;
label:
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getServletPath()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getPathInfo()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
return v;
}
protected void setPathData(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.servlet.HttpServletRequestImpl)
{
org.glassfish.grizzly.http.util.DataChunk v, v, v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.HttpServletRequestImpl v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.lang.String v, v, v;
org.glassfish.grizzly.http.server.util.MappingData v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v := @parameter: org.glassfish.grizzly.servlet.HttpServletRequestImpl;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Request: org.glassfish.grizzly.http.server.util.MappingData obtainMappingData()>();
v = v.<org.glassfish.grizzly.http.server.util.MappingData: org.glassfish.grizzly.http.util.DataChunk wrapperPath>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.DataChunk: java.lang.String toString()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletRequestImpl: void setServletPath(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.http.server.util.MappingData: org.glassfish.grizzly.http.util.DataChunk pathInfo>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.DataChunk: java.lang.String toString()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletRequestImpl: void setPathInfo(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.http.server.util.MappingData: org.glassfish.grizzly.http.util.DataChunk contextPath>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.DataChunk: java.lang.String toString()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletRequestImpl: void setContextPath(java.lang.String)>(v);
return;
}
void doServletService(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.DispatcherType) throws java.io.IOException, jakarta.servlet.ServletException
{
java.lang.Throwable v;
org.glassfish.grizzly.servlet.FilterChainFactory v;
jakarta.servlet.ServletRequest v;
org.glassfish.grizzly.servlet.FilterChainImpl v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.io.IOException v;
java.util.logging.Logger v, v;
java.util.logging.Level v, v;
jakarta.servlet.ServletResponse v;
jakarta.servlet.Servlet v, v;
jakarta.servlet.DispatcherType v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v := @parameter: jakarta.servlet.DispatcherType;
label:
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void loadServlet()>();
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.FilterChainFactory filterChainFactory>;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.FilterChainFactory: org.glassfish.grizzly.servlet.FilterChainImpl createFilterChain(jakarta.servlet.ServletRequest,jakarta.servlet.Servlet,jakarta.servlet.DispatcherType)>(v, v, v);
if v == null goto label;
virtualinvoke v.<org.glassfish.grizzly.servlet.FilterChainImpl: void invokeFilterChain(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v);
goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
interfaceinvoke v.<jakarta.servlet.Servlet: void service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "service exception:", v);
throw v;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "service exception:", v);
throw v;
label:
return;
catch jakarta.servlet.ServletException from label to label with label;
catch java.io.IOException from label to label with label;
}
public void customizeErrorPage(org.glassfish.grizzly.http.server.Response, java.lang.String, int, java.lang.Throwable)
{
java.lang.Throwable v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.io.IOException v;
org.glassfish.grizzly.http.server.Response v;
org.glassfish.grizzly.http.server.ErrorPageGenerator v;
int v;
java.lang.String v;
boolean v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Response;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Response: boolean isCommitted()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Response: org.glassfish.grizzly.http.server.Request getRequest()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Response: org.glassfish.grizzly.http.server.ErrorPageGenerator getErrorPageGenerator()>();
staticinvoke <org.glassfish.grizzly.http.server.util.HtmlHelper: void setErrorAndSendErrorPage(org.glassfish.grizzly.http.server.Request,org.glassfish.grizzly.http.server.Response,org.glassfish.grizzly.http.server.ErrorPageGenerator,int,java.lang.String,java.lang.String,java.lang.Throwable)>(v, v, v, v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.io.IOException from label to label with label;
}
protected void loadServlet() throws jakarta.servlet.ServletException
{
java.lang.Throwable v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.util.logging.Level v;
java.lang.String v, v, v;
java.lang.RuntimeException v;
java.util.logging.Logger v;
java.lang.Exception v;
jakarta.servlet.Servlet v, v;
java.lang.Class v, v;
java.lang.Object v, v;
org.glassfish.grizzly.servlet.ServletConfigImpl v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
if v != null goto label;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.Object lock>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
if v != null goto label;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String servletClassName>;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String servletClassName>;
v = staticinvoke <org.glassfish.grizzly.http.server.util.ClassLoaderUtil: java.lang.Object load(java.lang.String)>(v);
goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.Class servletClass>;
virtualinvoke v.<java.lang.Class: java.lang.Object newInstance()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Loading Servlet: {0}", v);
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ServletConfigImpl servletConfig>;
interfaceinvoke v.<jakarta.servlet.Servlet: void init(jakarta.servlet.ServletConfig)>(v);
v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected void configureServletEnv() throws jakarta.servlet.ServletException
{
org.glassfish.grizzly.servlet.ServletHandler v;
org.glassfish.grizzly.http.util.CharChunk v;
int v, v;
char[] v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath>;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = new org.glassfish.grizzly.http.util.CharChunk;
specialinvoke v.<org.glassfish.grizzly.http.util.CharChunk: void <init>()>();
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath>;
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = lengthof v;
virtualinvoke v.<org.glassfish.grizzly.http.util.CharChunk: void setChars(char[],int,int)>(v, 0, v);
staticinvoke <org.glassfish.grizzly.http.util.HttpRequestURIDecoder: boolean normalizeChars(org.glassfish.grizzly.http.util.CharChunk)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.util.CharChunk: java.lang.String toString()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath> = v;
label:
v = "";
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath> = "";
label:
return;
}
public jakarta.servlet.Servlet getServletInstance()
{
jakarta.servlet.Servlet v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
return v;
}
protected void setServletInstance(jakarta.servlet.Servlet)
{
jakarta.servlet.Servlet v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: jakarta.servlet.Servlet;
v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance> = v;
return;
}
protected void setServletClassName(java.lang.String)
{
java.lang.String v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: java.lang.String;
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String servletClassName> = v;
return;
}
protected void setServletClass(java.lang.Class)
{
java.lang.Class v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: java.lang.Class;
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.Class servletClass> = v;
return;
}
protected void setSessionManager(org.glassfish.grizzly.http.server.SessionManager)
{
org.glassfish.grizzly.http.server.SessionManager v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.SessionManager;
v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.server.SessionManager sessionManager> = v;
return;
}
public java.lang.String getContextPath()
{
java.lang.String v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath>;
return v;
}
public void setContextPath(java.lang.String)
{
java.lang.String v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: java.lang.String;
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String contextPath> = v;
return;
}
public void destroy()
{
java.lang.Throwable v, v, v, v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.util.logging.Level v, v;
java.lang.Thread v, v, v, v;
int v, v, v, v;
java.util.logging.Logger v, v;
java.util.List v, v, v, v, v, v;
jakarta.servlet.Servlet v, v;
java.lang.Object v, v;
java.lang.ClassLoader v, v, v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader classLoader>;
if v == null goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader classLoader>;
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
label:
specialinvoke v.<org.glassfish.grizzly.http.server.HttpHandler: void destroy()>();
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance>;
interfaceinvoke v.<jakarta.servlet.Servlet: void destroy()>();
v.<org.glassfish.grizzly.servlet.ServletHandler: jakarta.servlet.Servlet servletInstance> = null;
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
throw v;
label:
specialinvoke v.<org.glassfish.grizzly.http.server.HttpHandler: void destroy()>();
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
if v == null goto label;
v = 0;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "onDestroyListener error", v);
label:
v = v + 1;
goto label;
label:
v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
if v == null goto label;
v = 0;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "onDestroyListener error", v);
label:
v = v + 1;
goto label;
label:
v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners> = null;
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected org.glassfish.grizzly.servlet.WebappContext getServletCtx()
{
org.glassfish.grizzly.servlet.WebappContext v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext servletCtx>;
return v;
}
public java.lang.ClassLoader getClassLoader()
{
java.lang.ClassLoader v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader classLoader>;
return v;
}
public void setClassLoader(java.lang.ClassLoader)
{
java.lang.ClassLoader v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: java.lang.ClassLoader;
v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader classLoader> = v;
return;
}
public org.glassfish.grizzly.servlet.ServletConfigImpl getServletConfig()
{
org.glassfish.grizzly.servlet.ServletConfigImpl v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ServletConfigImpl servletConfig>;
return v;
}
public java.lang.String getName()
{
java.lang.String v;
org.glassfish.grizzly.servlet.ServletConfigImpl v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ServletConfigImpl servletConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletConfigImpl: java.lang.String getServletName()>();
return v;
}
public org.glassfish.grizzly.servlet.ExpectationHandler getExpectationHandler()
{
org.glassfish.grizzly.servlet.ExpectationHandler v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ExpectationHandler expectationHandler>;
return v;
}
public void setExpectationHandler(org.glassfish.grizzly.servlet.ExpectationHandler)
{
org.glassfish.grizzly.servlet.ExpectationHandler v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.servlet.ExpectationHandler;
v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ExpectationHandler expectationHandler> = v;
return;
}
protected void setDispatcherHelper(org.glassfish.grizzly.http.server.util.DispatcherHelper)
{
org.glassfish.grizzly.http.server.util.DispatcherHelper v;
org.glassfish.grizzly.servlet.WebappContext v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.util.DispatcherHelper;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext servletCtx>;
virtualinvoke v.<org.glassfish.grizzly.servlet.WebappContext: void setDispatcherHelper(org.glassfish.grizzly.http.server.util.DispatcherHelper)>(v);
return;
}
protected void setFilterChainFactory(org.glassfish.grizzly.servlet.FilterChainFactory)
{
org.glassfish.grizzly.servlet.FilterChainFactory v;
org.glassfish.grizzly.servlet.ServletHandler v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.servlet.FilterChainFactory;
v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.FilterChainFactory filterChainFactory> = v;
return;
}
protected java.lang.String getSessionCookieName()
{
org.glassfish.grizzly.servlet.WebappContext v;
jakarta.servlet.SessionCookieConfig v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.lang.String v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext servletCtx>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.WebappContext: jakarta.servlet.SessionCookieConfig getSessionCookieConfig()>();
v = interfaceinvoke v.<jakarta.servlet.SessionCookieConfig: java.lang.String getName()>();
return v;
}
protected org.glassfish.grizzly.http.server.SessionManager getSessionManager(org.glassfish.grizzly.http.server.Request)
{
org.glassfish.grizzly.http.server.ServerFilterConfiguration v;
org.glassfish.grizzly.http.server.SessionManager v, v;
org.glassfish.grizzly.http.server.Request v;
org.glassfish.grizzly.servlet.ServletHandler v;
org.glassfish.grizzly.http.server.HttpServerFilter v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Request: org.glassfish.grizzly.http.server.HttpServerFilter getHttpFilter()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.server.HttpServerFilter: org.glassfish.grizzly.http.server.ServerFilterConfiguration getConfiguration()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.server.ServerFilterConfiguration: org.glassfish.grizzly.http.server.SessionManager getSessionManager()>();
if v == null goto label;
v = v;
goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.server.SessionManager sessionManager>;
label:
return v;
}
void addOnDestroyListener(java.lang.Runnable)
{
java.util.List v, v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.lang.Runnable v;
java.util.ArrayList v;
v := @this: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: java.lang.Runnable;
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(2);
v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners> = v;
label:
v = v.<org.glassfish.grizzly.servlet.ServletHandler: java.util.List onDestroyListeners>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
static org.glassfish.grizzly.servlet.HttpServletRequestImpl getServletRequest(org.glassfish.grizzly.http.server.Request)
{
java.lang.Object v;
org.glassfish.grizzly.http.Note v;
org.glassfish.grizzly.http.server.Request v;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v = <org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.Note SERVLET_REQUEST_NOTE>;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Request: java.lang.Object getNote(org.glassfish.grizzly.http.Note)>(v);
return v;
}
static org.glassfish.grizzly.servlet.HttpServletResponseImpl getServletResponse(org.glassfish.grizzly.http.server.Request)
{
java.lang.Object v;
org.glassfish.grizzly.http.Note v;
org.glassfish.grizzly.http.server.Request v;
v := @parameter: org.glassfish.grizzly.http.server.Request;
v = <org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.Note SERVLET_RESPONSE_NOTE>;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.Request: java.lang.Object getNote(org.glassfish.grizzly.http.Note)>(v);
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
org.glassfish.grizzly.http.Note v, v;
org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener v;
java.lang.Class v, v;
java.lang.String v, v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/servlet/ServletHandler;");
<org.glassfish.grizzly.servlet.ServletHandler: java.util.logging.Logger LOGGER> = v;
v = class "Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.glassfish.grizzly.http.server.Request: org.glassfish.grizzly.http.Note createNote(java.lang.String)>(v);
<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.Note SERVLET_REQUEST_NOTE> = v;
v = class "Lorg/glassfish/grizzly/servlet/HttpServletResponseImpl;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.glassfish.grizzly.http.server.Request: org.glassfish.grizzly.http.Note createNote(java.lang.String)>(v);
<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.http.Note SERVLET_RESPONSE_NOTE> = v;
v = new org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener;
specialinvoke v.<org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener: void <init>()>();
<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.ServletHandler$ServletAfterServiceListener servletAfterServiceListener> = v;
return;
}
}