Class AppEngineWebAppContext

  • All Implemented Interfaces:
    org.eclipse.jetty.server.Handler, org.eclipse.jetty.server.HandlerContainer, org.eclipse.jetty.util.Attributes, org.eclipse.jetty.util.ClassVisibilityChecker, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.Graceful, org.eclipse.jetty.util.component.LifeCycle, org.eclipse.jetty.webapp.WebAppClassLoader.Context

    public class AppEngineWebAppContext
    extends org.eclipse.jetty.webapp.WebAppContext
    AppEngineWebAppContext is a customization of Jetty's WebAppContext that is aware of the ApiProxy and can provide custom logging and authentication.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  AppEngineWebAppContext.AppEngineServletContext
      A context that uses our logs API to log messages.
      • Nested classes/interfaces inherited from class org.eclipse.jetty.webapp.WebAppContext

        org.eclipse.jetty.webapp.WebAppContext.Context
      • Nested classes/interfaces inherited from class org.eclipse.jetty.servlet.ServletContextHandler

        org.eclipse.jetty.servlet.ServletContextHandler.Decorator, org.eclipse.jetty.servlet.ServletContextHandler.Initializer, org.eclipse.jetty.servlet.ServletContextHandler.JspConfig, org.eclipse.jetty.servlet.ServletContextHandler.JspPropertyGroup, org.eclipse.jetty.servlet.ServletContextHandler.ServletContainerInitializerCaller, org.eclipse.jetty.servlet.ServletContextHandler.TagLib
      • Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.ContextHandler

        org.eclipse.jetty.server.handler.ContextHandler.AliasCheck, org.eclipse.jetty.server.handler.ContextHandler.ApproveAliases, org.eclipse.jetty.server.handler.ContextHandler.ApproveNonExistentDirectoryAliases, org.eclipse.jetty.server.handler.ContextHandler.Availability, org.eclipse.jetty.server.handler.ContextHandler.ContextScopeListener, org.eclipse.jetty.server.handler.ContextHandler.ContextStatus, org.eclipse.jetty.server.handler.ContextHandler.StaticContext
      • Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler

        org.eclipse.jetty.server.handler.AbstractHandler.ErrorDispatchHandler
      • Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Attributes

        org.eclipse.jetty.util.Attributes.Wrapper
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

        org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable

        org.eclipse.jetty.util.component.Dumpable.DumpableContainer
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Graceful

        org.eclipse.jetty.util.component.Graceful.Shutdown
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

        org.eclipse.jetty.util.component.LifeCycle.Listener
    • Field Summary

      • Fields inherited from class org.eclipse.jetty.webapp.WebAppContext

        __dftServerClasses, __dftSystemClasses, BASETEMPDIR, DEFAULT_CONFIGURATION_CLASSES, ERROR_PAGE, SERVER_SRV_CLASSES, SERVER_SYS_CLASSES, TEMPDIR, WEB_DEFAULTS_XML
      • Fields inherited from class org.eclipse.jetty.servlet.ServletContextHandler

        _defaultSecurityHandlerClass, _gzipHandler, _jspConfig, _objFactory, _options, _securityHandler, _servletHandler, _sessionHandler, GZIP, NO_SECURITY, NO_SESSIONS, SECURITY, SESSIONS
      • Fields inherited from class org.eclipse.jetty.server.handler.ContextHandler

        _contextStatus, _scontext, DEFAULT_LISTENER_TYPE_INDEX, DEFAULT_MAX_FORM_CONTENT_SIZE, DEFAULT_MAX_FORM_KEYS, EXTENDED_LISTENER_TYPE_INDEX, MANAGED_ATTRIBUTES, MAX_FORM_CONTENT_SIZE_KEY, MAX_FORM_KEYS_KEY, SERVLET_LISTENER_TYPES, SERVLET_MAJOR_VERSION, SERVLET_MINOR_VERSION
      • Fields inherited from class org.eclipse.jetty.server.handler.ScopedHandler

        _nextScope, _outerScope
      • Fields inherited from class org.eclipse.jetty.server.handler.HandlerWrapper

        _handler
      • Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
      • Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

        KEY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addEventListener​(EventListener listener)  
      boolean checkAlias​(String path, org.eclipse.jetty.util.resource.Resource resource)  
      void doHandle​(String target, org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)  
      void doStart()  
      File getTempDirectory()
      Jetty needs a temp directory that already exists, so we point it to the directory of the war.
      protected org.eclipse.jetty.servlet.ServletHandler newServletHandler()  
      void removeEventListener​(EventListener listener)  
      void setTempDirectory​(File dir)
      Set temporary directory for context.
      protected void startWebapp()  
      • Methods inherited from class org.eclipse.jetty.webapp.WebAppContext

        addOverrideDescriptor, addServerClass, addServerClasses, addSystemClass, addSystemClasses, configure, destroy, doStop, dump, getConfigurationClasses, getConfigurations, getCurrentWebAppContext, getDefaultConfigurationClasses, getDefaultsDescriptor, getDefaultServerClasses, getDefaultSystemClasses, getDescriptor, getExtraClasspath, getMetaData, getOverrideDescriptor, getOverrideDescriptors, getPermissions, getResource, getResourceAlias, getResourceAliases, getServerClasses, getServerClasspathPattern, getSystemClasses, getSystemClasspathPattern, getUnavailableException, getWar, getWebInf, isAllowDuplicateFragmentNames, isConfigurationDiscovered, isCopyWebDir, isCopyWebInf, isDistributable, isExtractWAR, isLogUrlOnStart, isParentLoaderPriority, isPersistTempDirectory, isServerClass, isServerClass, isServerResource, isSystemClass, isSystemClass, isSystemResource, isThrowUnavailableOnStartupException, loadConfigurations, loadServerClasses, loadSystemClasses, postConfigure, preConfigure, prependServerClass, prependSystemClass, removeResourceAlias, setAllowDuplicateFragmentNames, setClassLoader, setConfigurationClasses, setConfigurationClasses, setConfigurationDiscovered, setConfigurations, setContextWhiteList, setCopyWebDir, setCopyWebInf, setDefaultsDescriptor, setDescriptor, setDisplayName, setDistributable, setEventListeners, setExtraClasspath, setExtractWAR, setLogUrlOnStart, setOverrideDescriptor, setOverrideDescriptors, setParentLoaderPriority, setPermissions, setPersistTempDirectory, setResourceAlias, setResourceAliases, setServer, setServerClasses, setServletSecurity, setSystemClasses, setThrowUnavailableOnStartupException, setWar, setWarResource, startContext, stopContext, stopWebapp, toString
      • Methods inherited from class org.eclipse.jetty.servlet.ServletContextHandler

        addDecorator, addFilter, addFilter, addFilter, addRoles, addServlet, addServlet, addServlet, callContextDestroyed, callContextInitialized, dynamicHolderAdded, getDecorators, getDefaultSecurityHandlerClass, getGzipHandler, getObjectFactory, getSecurityHandler, getServletContextHandler, getServletHandler, getSessionHandler, insertHandler, newSecurityHandler, newSessionHandler, setDecorators, setDefaultSecurityHandlerClass, setGzipHandler, setHandler, setSecurityHandler, setServletHandler, setSessionHandler
      • Methods inherited from class org.eclipse.jetty.server.handler.ContextHandler

        addAliasCheck, addLocaleEncoding, addProgrammaticListener, addVirtualHosts, checkContext, checkContextPath, checkVirtualHost, clearAliasChecks, clearAttributes, contextDestroyed, contextInitialized, doScope, enterScope, exitScope, getAliasChecks, getAllowNullPathInfo, getAttribute, getAttributeNames, getAttributeNameSet, getAttributes, getBaseResource, getClassLoader, getClassPath, getContextHandler, getContextPath, getContextPathEncoded, getCurrentContext, getDisplayName, getErrorHandler, getEventListeners, getInitParameter, getInitParameterNames, getInitParams, getLocaleEncoding, getLocaleEncoding, getLocaleEncodings, getLogger, getMaxFormContentSize, getMaxFormKeys, getMimeTypes, getProtectedTargets, getRequestContextPath, getResourceBase, getResourcePaths, getServerInfo, getServletContext, getVirtualHosts, getWelcomeFiles, handle, handle, isAvailable, isCompactPath, isDurableListener, isProgrammaticListener, isProtectedTarget, isShutdown, isUsingSecurityManager, loadClass, newResource, newResource, newResource, removeAttribute, removeVirtualHosts, requestDestroyed, requestInitialized, setAliasChecks, setAllowNullPathInfo, setAttribute, setAttributes, setAvailable, setBaseResource, setCompactPath, setContextPath, setErrorHandler, setInitParameter, setLogger, setManagedAttribute, setMaxFormContentSize, setMaxFormKeys, setMimeTypes, setProtectedTargets, setResourceBase, setServerInfo, setUsingSecurityManager, setVirtualHosts, setWelcomeFiles, shutdown
      • Methods inherited from class org.eclipse.jetty.server.handler.ScopedHandler

        handle, nextHandle, nextScope
      • Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper

        expandChildren, getHandler, getHandlers
      • Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer

        doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
      • Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler

        doError, getServer
      • Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

        addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
      • Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
      • Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

        dumpSelf
      • Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer

        isDumpable
      • Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

        addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
      • Methods inherited from interface org.eclipse.jetty.webapp.WebAppClassLoader.Context

        newResource
    • Constructor Detail

      • AppEngineWebAppContext

        public AppEngineWebAppContext​(File appDir,
                                      String serverInfo)
      • AppEngineWebAppContext

        public AppEngineWebAppContext​(File appDir,
                                      String serverInfo,
                                      boolean extractWar)
    • Method Detail

      • checkAlias

        public boolean checkAlias​(String path,
                                  org.eclipse.jetty.util.resource.Resource resource)
        Overrides:
        checkAlias in class org.eclipse.jetty.server.handler.ContextHandler
      • addEventListener

        public void addEventListener​(EventListener listener)
        Overrides:
        addEventListener in class org.eclipse.jetty.servlet.ServletContextHandler
      • removeEventListener

        public void removeEventListener​(EventListener listener)
        Overrides:
        removeEventListener in class org.eclipse.jetty.webapp.WebAppContext
      • doStart

        public void doStart()
                     throws Exception
        Overrides:
        doStart in class org.eclipse.jetty.webapp.WebAppContext
        Throws:
        Exception
      • startWebapp

        protected void startWebapp()
                            throws Exception
        Overrides:
        startWebapp in class org.eclipse.jetty.webapp.WebAppContext
        Throws:
        Exception
      • doHandle

        public void doHandle​(String target,
                             org.eclipse.jetty.server.Request baseRequest,
                             javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)
                      throws IOException,
                             javax.servlet.ServletException
        Overrides:
        doHandle in class org.eclipse.jetty.server.handler.ContextHandler
        Throws:
        IOException
        javax.servlet.ServletException
      • newServletHandler

        protected org.eclipse.jetty.servlet.ServletHandler newServletHandler()
        Overrides:
        newServletHandler in class org.eclipse.jetty.servlet.ServletContextHandler
      • getTempDirectory

        public File getTempDirectory()
        Jetty needs a temp directory that already exists, so we point it to the directory of the war. Since we don't allow Jetty to do any actual writes, this isn't a problem. It'd be nice to just use setTempDirectory, but Jetty tests to see if it's writable.
        Overrides:
        getTempDirectory in class org.eclipse.jetty.webapp.WebAppContext
      • setTempDirectory

        public void setTempDirectory​(File dir)
        Set temporary directory for context. The javax.servlet.context.tempdir attribute is also set.
        Overrides:
        setTempDirectory in class org.eclipse.jetty.webapp.WebAppContext
        Parameters:
        dir - Writable temporary directory.