Class ResourceDomainRootAction

java.lang.Object
jenkins.security.ResourceDomainRootAction
All Implemented Interfaces:
ExtensionPoint, Action, ModelObject, RootAction, UnprotectedRootAction

@Extension @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public class ResourceDomainRootAction extends Object implements UnprotectedRootAction
Root action serving DirectoryBrowserSupport instances on random URLs to support resource URLs (second domain).
Since:
2.200
See Also:
  • Field Details

  • Constructor Details

    • ResourceDomainRootAction

      public ResourceDomainRootAction()
  • Method Details

    • getIconFileName

      @CheckForNull public String getIconFileName()
      Description copied from interface: Action
      Gets the name of the icon.
      Specified by:
      getIconFileName in interface Action
      Returns:
      If the icon name is prefixed with "symbol-", a Jenkins Symbol will be used.

      If just a file name (like "abc.gif") is returned, it will be interpreted as a file name inside /images/24x24. This is useful for using one of the stock images.

      If an absolute file name that starts from '/' is returned (like "/plugin/foo/abc.gif"), then it will be interpreted as a path from the context root of Jenkins. This is useful to pick up image files from a plugin.

      Finally, return null to hide it from the task list. This is normally not very useful, but this can be used for actions that only contribute floatBox.jelly and no task list item. The other case where this is useful is to avoid showing links that require a privilege when the user is anonymous.

      See Also:
    • getDisplayName

      @CheckForNull public String getDisplayName()
      Description copied from interface: Action
      Gets the string to be displayed. The convention is to capitalize the first letter of each word, such as "Test Result".
      Specified by:
      getDisplayName in interface Action
      Specified by:
      getDisplayName in interface ModelObject
      Returns:
      Can be null in case the action is hidden.
    • getUrlName

      @CheckForNull public String getUrlName()
      Description copied from interface: Action
      Gets the URL path name.

      For example, if this method returns "xyz", and if the parent object (that this action is associated with) is bound to /foo/bar/zot, then this action object will be exposed to /foo/bar/zot/xyz.

      This method should return a string that's unique among other Actions.

      The returned string can be an absolute URL, like "http://www.sun.com/", which is useful for directly connecting to external systems.

      If the returned string starts with '/', like '/foo', then it's assumed to be relative to the context path of the Jenkins webapp.

      Specified by:
      getUrlName in interface Action
      Returns:
      null if this action object doesn't need to be bound to web (when you do that, be sure to also return null from Action.getIconFileName().
      See Also:
    • get

      public static ResourceDomainRootAction get()
    • doIndex

      public void doIndex(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException
      Throws:
      IOException
    • getDynamic

      public Object getDynamic(String id, org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws Exception
      Throws:
      Exception
    • getRedirectUrl

      public String getRedirectUrl(@NonNull ResourceDomainRootAction.Token token, @NonNull String restOfPath)
    • getToken

      @CheckForNull public ResourceDomainRootAction.Token getToken(@NonNull DirectoryBrowserSupport dbs, @NonNull org.kohsuke.stapler.StaplerRequest req)
      Called from DirectoryBrowserSupport.generateResponse(StaplerRequest, StaplerResponse, Object) to obtain a token to use when rendering a response.
      Parameters:
      dbs - the DirectoryBrowserSupport instance requesting the token
      req - the current request
      Returns:
      a token that can be used to redirect users to the ResourceDomainRootAction.