final class org.glassfish.grizzly.servlet.ApplicationDispatcher extends java.lang.Object implements jakarta.servlet.RequestDispatcher
{
public static final java.lang.String LAST_DISPATCH_REQUEST_PATH_ATTR;
private static final java.util.logging.Logger LOGGER;
private java.lang.Boolean crossContextFlag;
private java.lang.String name;
private java.lang.String pathInfo;
private java.lang.String queryString;
private java.lang.String requestURI;
private java.lang.String servletPath;
private org.glassfish.grizzly.servlet.ServletHandler wrapper;
public void <init>(org.glassfish.grizzly.servlet.ServletHandler, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
{
java.lang.Object[] v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.util.logging.Level v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
java.util.logging.Logger v, v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: org.glassfish.grizzly.servlet.ServletHandler;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.Boolean crossContextFlag> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String name> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String requestURI> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper> = null;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper> = v;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String requestURI> = v;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath> = v;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo> = v;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString> = v;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String name> = v;
v = <org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = newarray (java.lang.Object)[4];
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
v[0] = v;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
v[1] = v;
v[2] = v;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String name>;
v[3] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "servletPath={0}, pathInfo={1}, queryString={2}, name={3}", v);
label:
return;
}
public void forward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) throws jakarta.servlet.ServletException, java.io.IOException
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v;
jakarta.servlet.ServletResponse v;
jakarta.servlet.DispatcherType v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType FORWARD>;
virtualinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void dispatch(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.DispatcherType)>(v, v, v);
return;
}
public void dispatch(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.DispatcherType) throws jakarta.servlet.ServletException, java.io.IOException
{
jakarta.servlet.ServletException v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$PrivilegedDispatch v;
boolean v, v, v, v, v, v, v, v, v;
java.security.PrivilegedActionException v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v;
java.lang.IllegalArgumentException v;
java.lang.Exception v;
java.lang.SecurityManager v;
jakarta.servlet.ServletResponse v;
jakarta.servlet.DispatcherType v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v := @parameter: jakarta.servlet.DispatcherType;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType FORWARD>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType ERROR>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType ASYNC>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Illegal dispatcher type");
throw v;
label:
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType FORWARD>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType ERROR>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
label:
v = new org.glassfish.grizzly.servlet.ApplicationDispatcher$PrivilegedDispatch;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$PrivilegedDispatch: void <init>(org.glassfish.grizzly.servlet.ApplicationDispatcher,jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.DispatcherType)>(v, v, v, v);
staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.ServletRequest: boolean isAsyncStarted()>();
if v != 0 goto label;
staticinvoke <org.glassfish.grizzly.servlet.ApplicationDispatcher: void closeResponse(jakarta.servlet.ServletResponse)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.security.PrivilegedActionException: java.lang.Exception getException()>();
v = v instanceof jakarta.servlet.ServletException;
if v == 0 goto label;
throw v;
label:
throw v;
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void doDispatch(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.DispatcherType)>(v, v, v);
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.ServletRequest: boolean isAsyncStarted()>();
if v != 0 goto label;
staticinvoke <org.glassfish.grizzly.servlet.ApplicationDispatcher: void closeResponse(jakarta.servlet.ServletResponse)>(v);
label:
return;
catch java.security.PrivilegedActionException from label to label with label;
}
private void doDispatch(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.DispatcherType) throws jakarta.servlet.ServletException, java.io.IOException
{
java.lang.IllegalStateException v, v;
boolean v, v, v, v, v, v, v;
org.glassfish.grizzly.servlet.DispatchTargetsInfo v;
jakarta.servlet.ServletRequest v, v;
java.util.logging.Logger v, v, v, v;
jakarta.servlet.ServletResponse v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
jakarta.servlet.DispatcherType v, v, v, v, v;
jakarta.servlet.http.HttpServletRequest v;
org.glassfish.grizzly.servlet.ServletHandler v, v;
java.util.logging.Level v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
org.glassfish.grizzly.servlet.HttpServletRequestImpl v;
java.lang.Object v, v, v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v := @parameter: jakarta.servlet.DispatcherType;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType ASYNC>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.ServletResponse: boolean isCommitted()>();
if v == 0 goto label;
v = <org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("  Forward on committed response --> ISE");
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot forward after response has been committed");
throw v;
label:
interfaceinvoke v.<jakarta.servlet.ServletResponse: void resetBuffer()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "Forward resetBuffer() returned ISE: {0}", v);
label:
throw v;
label:
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType INCLUDE>;
if v == v goto label;
v = interfaceinvoke v.<jakarta.servlet.ServletRequest: java.lang.Object getAttribute(java.lang.String)>("org.apache.catalina.core.ApplicationDispatcher.lastDispatchRequestPathAttr");
if v != null goto label;
v = new org.glassfish.grizzly.servlet.DispatchTargetsInfo;
specialinvoke v.<org.glassfish.grizzly.servlet.DispatchTargetsInfo: void <init>()>();
v = v;
interfaceinvoke v.<jakarta.servlet.ServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.catalina.core.ApplicationDispatcher.lastDispatchRequestPathAttr", v);
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
if v != null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
if v != null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String getName()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchTargetsInfo: void addDispatchTarget(java.lang.String,boolean)>(v, 1);
goto label;
label:
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String getCombinedPath()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchTargetsInfo: void addDispatchTarget(java.lang.String,boolean)>(v, 0);
label:
v = new org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: void <init>(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.DispatcherType)>(v, v, v);
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: jakarta.servlet.ServletRequest wrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: jakarta.servlet.ServletResponse wrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.http.HttpServletRequest hrequest>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.http.HttpServletResponse hresponse>;
if v == null goto label;
if v != null goto label;
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void processRequest(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
if v != null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
if v != null goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getRequestURI()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setRequestURI(java.lang.String)>(v);
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getContextPath()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setContextPath(java.lang.String)>(v);
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getServletPath()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setServletPath(java.lang.String)>(v);
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getPathInfo()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setPathInfo(java.lang.String)>(v);
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getQueryString()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setQueryString(java.lang.String)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void processRequest(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
goto label;
label:
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType FORWARD>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.Object getAttribute(java.lang.String)>("jakarta.servlet.forward.request_uri");
if v == null goto label;
label:
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType ASYNC>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.Object getAttribute(java.lang.String)>("jakarta.servlet.async.request_uri");
if v != null goto label;
label:
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getRequestURI()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getContextPath()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getServletPath()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getPathInfo()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getQueryString()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void initSpecialAttributes(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v, v);
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String getContextPath()>();
v = virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: org.glassfish.grizzly.servlet.HttpServletRequestImpl getRequestFacade()>();
v = virtualinvoke v.<org.glassfish.grizzly.servlet.HttpServletRequestImpl: java.lang.String getContextPath()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getContextPath()>();
label:
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setContextPath(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String requestURI>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setRequestURI(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setServletPath(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setPathInfo(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString>;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setQueryString(java.lang.String)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setQueryParams(java.lang.String)>(v);
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void processRequest(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void recycleRequestWrapper(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
return;
catch java.lang.IllegalStateException from label to label with label;
}
private void processRequest(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, org.glassfish.grizzly.servlet.ApplicationDispatcher$State) throws java.io.IOException, jakarta.servlet.ServletException
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v, v, v, v;
jakarta.servlet.ServletResponse v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
jakarta.servlet.DispatcherType v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.DispatcherType dispatcherType>;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType ERROR>;
if v == v goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String getCombinedPath()>();
interfaceinvoke v.<jakarta.servlet.ServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.catalina.core.DISPATCHER_REQUEST_PATH", v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void invoke(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void invoke(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
label:
return;
}
private java.lang.String getCombinedPath()
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
java.lang.String v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
if v != null goto label;
return null;
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
if v != null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
return v;
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
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;
}
public void include(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) throws jakarta.servlet.ServletException, java.io.IOException
{
java.security.PrivilegedActionException v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v;
jakarta.servlet.ServletException v;
java.lang.Exception v;
java.lang.SecurityManager v;
jakarta.servlet.ServletResponse v;
boolean v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$PrivilegedInclude v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
label:
v = new org.glassfish.grizzly.servlet.ApplicationDispatcher$PrivilegedInclude;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$PrivilegedInclude: void <init>(org.glassfish.grizzly.servlet.ApplicationDispatcher,jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v, v);
staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.security.PrivilegedActionException: java.lang.Exception getException()>();
v = v instanceof jakarta.servlet.ServletException;
if v == 0 goto label;
throw v;
label:
throw v;
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void doInclude(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v);
label:
return;
catch java.security.PrivilegedActionException from label to label with label;
}
private void doInclude(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) throws jakarta.servlet.ServletException, java.io.IOException
{
java.lang.Throwable v, v;
org.glassfish.grizzly.servlet.ServletHandler v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v, v, v, v, v;
jakarta.servlet.ServletResponse v, v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
jakarta.servlet.DispatcherType v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v = new org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType INCLUDE>;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: void <init>(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.DispatcherType)>(v, v, v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: jakarta.servlet.ServletResponse wrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String name>;
if v == null goto label;
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: jakarta.servlet.ServletRequest wrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String name>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.catalina.NAMED", v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setServletPath(java.lang.String)>(v);
label:
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String getCombinedPath()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.catalina.core.DISPATCHER_REQUEST_PATH", v);
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse outerResponse>;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void invoke(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void recycleRequestWrapper(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void recycleRequestWrapper(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
throw v;
label:
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: jakarta.servlet.ServletRequest wrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String requestURI>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String getContextPath()>();
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String servletPath>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String pathInfo>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void initSpecialAttributes(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v, v);
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String queryString>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setQueryParams(java.lang.String)>(v);
v = specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.String getCombinedPath()>();
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.catalina.core.DISPATCHER_REQUEST_PATH", v);
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse outerResponse>;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void invoke(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v);
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void recycleRequestWrapper(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void recycleRequestWrapper(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void unwrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void invoke(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, org.glassfish.grizzly.servlet.ApplicationDispatcher$State) throws java.io.IOException, jakarta.servlet.ServletException
{
java.lang.Throwable v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v;
jakarta.servlet.ServletResponse v;
java.lang.Boolean v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
boolean v, v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = 0;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.Boolean crossContextFlag>;
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.Boolean crossContextFlag>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = 1;
label:
specialinvoke v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: void doInvoke(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,boolean,org.glassfish.grizzly.servlet.ApplicationDispatcher$State)>(v, v, v, v);
label:
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.Boolean crossContextFlag> = null;
goto label;
label:
v := @caughtexception;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.Boolean crossContextFlag> = null;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void doInvoke(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, boolean, org.glassfish.grizzly.servlet.ApplicationDispatcher$State) throws java.io.IOException, jakarta.servlet.ServletException
{
java.lang.Throwable v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v;
org.glassfish.grizzly.servlet.ServletHandler v, v;
jakarta.servlet.ServletResponse v;
java.lang.Thread v, v, v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
jakarta.servlet.DispatcherType v;
java.lang.ClassLoader v, v;
boolean v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: jakarta.servlet.ServletRequest;
v := @parameter: jakarta.servlet.ServletResponse;
v := @parameter: boolean;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = null;
label:
if v == 0 goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.ClassLoader getClassLoader()>();
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()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.DispatcherType dispatcherType>;
virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: void doServletService(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.DispatcherType)>(v, v, v);
label:
if v == null goto 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;
if v == null goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void unwrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v, v, v, v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
boolean v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest wrapRequest>;
if v != null goto label;
return;
label:
v = null;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
label:
if v == null goto label;
v = v instanceof org.glassfish.grizzly.servlet.HttpServletRequestImpl;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest wrapRequest>;
if v != v goto label;
v = virtualinvoke v.<jakarta.servlet.ServletRequestWrapper: jakarta.servlet.ServletRequest getRequest()>();
if v != null goto label;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest> = v;
goto label;
label:
virtualinvoke v.<jakarta.servlet.ServletRequestWrapper: void setRequest(jakarta.servlet.ServletRequest)>(v);
goto label;
label:
v = v;
v = virtualinvoke v.<jakarta.servlet.ServletRequestWrapper: jakarta.servlet.ServletRequest getRequest()>();
goto label;
label:
return;
}
private void unwrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletResponse v, v, v, v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
boolean v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse wrapResponse>;
if v != null goto label;
return;
label:
v = null;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse outerResponse>;
label:
if v == null goto label;
v = v instanceof org.glassfish.grizzly.servlet.HttpServletResponseImpl;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse wrapResponse>;
if v != v goto label;
v = virtualinvoke v.<jakarta.servlet.ServletResponseWrapper: jakarta.servlet.ServletResponse getResponse()>();
if v != null goto label;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse outerResponse> = v;
goto label;
label:
virtualinvoke v.<jakarta.servlet.ServletResponseWrapper: void setResponse(jakarta.servlet.ServletResponse)>(v);
goto label;
label:
v = v;
v = virtualinvoke v.<jakarta.servlet.ServletResponseWrapper: jakarta.servlet.ServletResponse getResponse()>();
goto label;
label:
return;
}
private jakarta.servlet.ServletRequest wrapRequest(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)
{
java.lang.IllegalStateException v;
jakarta.servlet.http.HttpServletRequest v;
org.glassfish.grizzly.servlet.ServletHandler v, v;
java.lang.Boolean v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v, v;
org.glassfish.grizzly.servlet.DispatchedHttpServletRequest v;
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v, v, v, v, v, v;
org.glassfish.grizzly.servlet.WebappContext v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
java.lang.Object v;
jakarta.servlet.DispatcherType v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = null;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
label:
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.http.HttpServletRequest hrequest>;
if v != null goto label;
v = v instanceof jakarta.servlet.http.HttpServletRequest;
if v == 0 goto label;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.http.HttpServletRequest hrequest> = v;
label:
v = v instanceof jakarta.servlet.ServletRequestWrapper;
if v == 0 goto label;
v = v instanceof org.glassfish.grizzly.servlet.DispatchedHttpServletRequest;
if v != 0 goto label;
v = v;
v = virtualinvoke v.<jakarta.servlet.ServletRequestWrapper: jakarta.servlet.ServletRequest getRequest()>();
goto label;
label:
if v != null goto label;
v = new java.lang.IllegalStateException;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (jakarta.servlet.ServletRequest)>(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[])>("Can\'t retrieve container request from \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 0;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = v instanceof org.glassfish.grizzly.servlet.DispatchedHttpServletRequest;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = v instanceof jakarta.servlet.http.HttpServletRequest;
if v == 0 goto label;
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest>;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.Object getAttribute(java.lang.String)>("jakarta.servlet.include.context_path");
if v != null goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getContextPath()>();
label:
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: java.lang.String getContextPath()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.lang.Boolean crossContextFlag> = v;
v = new org.glassfish.grizzly.servlet.DispatchedHttpServletRequest;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher: org.glassfish.grizzly.servlet.ServletHandler wrapper>;
v = virtualinvoke v.<org.glassfish.grizzly.servlet.ServletHandler: org.glassfish.grizzly.servlet.WebappContext getServletCtx()>();
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.DispatcherType dispatcherType>;
specialinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void <init>(jakarta.servlet.http.HttpServletRequest,org.glassfish.grizzly.servlet.WebappContext,boolean,jakarta.servlet.DispatcherType)>(v, v, v, v);
if v != null goto label;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest outerRequest> = v;
goto label;
label:
virtualinvoke v.<jakarta.servlet.ServletRequestWrapper: void setRequest(jakarta.servlet.ServletRequest)>(v);
label:
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest wrapRequest> = v;
return v;
}
private jakarta.servlet.ServletResponse wrapResponse(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletResponse v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
org.glassfish.grizzly.servlet.DispatchedHttpServletResponse v;
jakarta.servlet.DispatcherType v, v, v, v;
jakarta.servlet.http.HttpServletResponse v;
boolean v, v, v, v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = null;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse outerResponse>;
label:
if v == null goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.http.HttpServletResponse hresponse>;
if v != null goto label;
v = v instanceof jakarta.servlet.http.HttpServletResponse;
if v == 0 goto label;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.http.HttpServletResponse hresponse> = v;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType INCLUDE>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.DispatcherType dispatcherType>;
if v == v goto label;
return null;
label:
v = v instanceof jakarta.servlet.ServletResponseWrapper;
if v == 0 goto label;
v = v instanceof org.glassfish.grizzly.servlet.DispatchedHttpServletResponse;
if v != 0 goto label;
v = v;
v = virtualinvoke v.<jakarta.servlet.ServletResponseWrapper: jakarta.servlet.ServletResponse getResponse()>();
goto label;
label:
v = new org.glassfish.grizzly.servlet.DispatchedHttpServletResponse;
v = <jakarta.servlet.DispatcherType: jakarta.servlet.DispatcherType INCLUDE>;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.DispatcherType dispatcherType>;
v = virtualinvoke v.<jakarta.servlet.DispatcherType: boolean equals(java.lang.Object)>(v);
specialinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletResponse: void <init>(jakarta.servlet.http.HttpServletResponse,boolean)>(v, v);
if v != null goto label;
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse outerResponse> = v;
goto label;
label:
virtualinvoke v.<jakarta.servlet.ServletResponseWrapper: void setResponse(jakarta.servlet.ServletResponse)>(v);
label:
v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletResponse wrapResponse> = v;
return v;
}
private static void closeResponse(jakarta.servlet.ServletResponse)
{
jakarta.servlet.ServletOutputStream v;
java.io.PrintWriter v;
java.lang.IllegalStateException v, v;
jakarta.servlet.ServletResponse v;
java.io.IOException v, v;
v := @parameter: jakarta.servlet.ServletResponse;
label:
v = interfaceinvoke v.<jakarta.servlet.ServletResponse: java.io.PrintWriter getWriter()>();
virtualinvoke v.<java.io.PrintWriter: void flush()>();
virtualinvoke v.<java.io.PrintWriter: void close()>();
label:
goto label;
label:
v := @caughtexception;
label:
v = interfaceinvoke v.<jakarta.servlet.ServletResponse: jakarta.servlet.ServletOutputStream getOutputStream()>();
virtualinvoke v.<jakarta.servlet.ServletOutputStream: void flush()>();
virtualinvoke v.<jakarta.servlet.ServletOutputStream: void close()>();
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.IllegalStateException from label to label with label;
catch java.lang.IllegalStateException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private void recycleRequestWrapper(org.glassfish.grizzly.servlet.ApplicationDispatcher$State)
{
org.glassfish.grizzly.servlet.ApplicationDispatcher v;
jakarta.servlet.ServletRequest v, v;
org.glassfish.grizzly.servlet.ApplicationDispatcher$State v;
boolean v;
v := @this: org.glassfish.grizzly.servlet.ApplicationDispatcher;
v := @parameter: org.glassfish.grizzly.servlet.ApplicationDispatcher$State;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest wrapRequest>;
v = v instanceof org.glassfish.grizzly.servlet.DispatchedHttpServletRequest;
if v == 0 goto label;
v = v.<org.glassfish.grizzly.servlet.ApplicationDispatcher$State: jakarta.servlet.ServletRequest wrapRequest>;
virtualinvoke v.<org.glassfish.grizzly.servlet.DispatchedHttpServletRequest: void recycle()>();
label:
return;
}
static void <clinit>()
{
java.util.logging.Logger v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;");
<org.glassfish.grizzly.servlet.ApplicationDispatcher: java.util.logging.Logger LOGGER> = v;
return;
}
}