Class ProxyUriUtils

java.lang.Object
org.apache.hadoop.yarn.server.webproxy.ProxyUriUtils

public class ProxyUriUtils extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Query Parameter indicating that the URI was approved.
    static final String
    Base path where the proxy servlet will handle requests.
    static final String
    Path Specification for the proxy servlet.
    static final String
    Name of the servlet to use when registering the proxy servlet.
    static final String
    Path component added when the proxy redirects the connection.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    getPath(org.apache.hadoop.yarn.api.records.ApplicationId id)
    Get the proxied path for an application.
    static String
    getPath(org.apache.hadoop.yarn.api.records.ApplicationId id, boolean redirected)
    Get the proxied path for an application.
    static String
    getPath(org.apache.hadoop.yarn.api.records.ApplicationId id, String path)
    Get the proxied path for an application.
    static String
    getPath(org.apache.hadoop.yarn.api.records.ApplicationId id, String path, boolean redirected)
    Get the proxied path for an application.
    static String
    getPathAndQuery(org.apache.hadoop.yarn.api.records.ApplicationId id, String path, String query, boolean approved)
    Get the proxied path for an application
    static URI
    getProxyUri(URI originalUri, URI proxyUri, org.apache.hadoop.yarn.api.records.ApplicationId id)
    Get a proxied URI for the original URI.
    static String
    Returns the scheme if present in the url eg.
    static URI
    getUriFromAMUrl(String scheme, String noSchemeUrl)
    Create a URI form a no scheme Url, such as is returned by the AM.
    static URI
    getUriFromTrackingPlugins(org.apache.hadoop.yarn.api.records.ApplicationId id, List<org.apache.hadoop.yarn.util.TrackingUriPlugin> trackingUriPlugins)
    Returns the first valid tracking link, if any, from the given id from the given list of plug-ins, if any.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PROXY_SERVLET_NAME

      public static final String PROXY_SERVLET_NAME
      Name of the servlet to use when registering the proxy servlet.
      See Also:
    • PROXY_BASE

      public static final String PROXY_BASE
      Base path where the proxy servlet will handle requests.
      See Also:
    • REDIRECT

      public static final String REDIRECT
      Path component added when the proxy redirects the connection.
      See Also:
    • PROXY_PATH_SPEC

      public static final String PROXY_PATH_SPEC
      Path Specification for the proxy servlet.
      See Also:
    • PROXY_APPROVAL_PARAM

      public static final String PROXY_APPROVAL_PARAM
      Query Parameter indicating that the URI was approved.
      See Also:
  • Constructor Details

    • ProxyUriUtils

      public ProxyUriUtils()
  • Method Details

    • getPath

      public static String getPath(org.apache.hadoop.yarn.api.records.ApplicationId id)
      Get the proxied path for an application.
      Parameters:
      id - the application id to use
      Returns:
      the base path to that application through the proxy
    • getPath

      public static String getPath(org.apache.hadoop.yarn.api.records.ApplicationId id, boolean redirected)
      Get the proxied path for an application.
      Parameters:
      id - the application id to use
      redirected - whether the path should contain the redirect component
      Returns:
      the base path to that application through the proxy
    • getPath

      public static String getPath(org.apache.hadoop.yarn.api.records.ApplicationId id, String path)
      Get the proxied path for an application.
      Parameters:
      id - the application id to use
      path - the rest of the path to the application
      Returns:
      the base path to that application through the proxy
    • getPath

      public static String getPath(org.apache.hadoop.yarn.api.records.ApplicationId id, String path, boolean redirected)
      Get the proxied path for an application.
      Parameters:
      id - the application id to use
      path - the rest of the path to the application
      redirected - whether the path should contain the redirect component
      Returns:
      the base path to that application through the proxy
    • getPathAndQuery

      public static String getPathAndQuery(org.apache.hadoop.yarn.api.records.ApplicationId id, String path, String query, boolean approved)
      Get the proxied path for an application
      Parameters:
      id - the id of the application
      path - the path of the application.
      query - the query parameters
      approved - true if the user has approved accessing this app.
      Returns:
      the proxied path for this app.
    • getProxyUri

      public static URI getProxyUri(URI originalUri, URI proxyUri, org.apache.hadoop.yarn.api.records.ApplicationId id)
      Get a proxied URI for the original URI.
      Parameters:
      originalUri - the original URI to go through the proxy, or null if a default path "/" can be used.
      proxyUri - the URI of the proxy itself, scheme, host and port are used.
      id - the id of the application
      Returns:
      the proxied URI
    • getUriFromAMUrl

      public static URI getUriFromAMUrl(String scheme, String noSchemeUrl) throws URISyntaxException
      Create a URI form a no scheme Url, such as is returned by the AM.
      Parameters:
      noSchemeUrl - the URL format returned by an AM
      Returns:
      a URI with an http scheme
      Throws:
      URISyntaxException - if the url is not formatted correctly.
    • getUriFromTrackingPlugins

      public static URI getUriFromTrackingPlugins(org.apache.hadoop.yarn.api.records.ApplicationId id, List<org.apache.hadoop.yarn.util.TrackingUriPlugin> trackingUriPlugins) throws URISyntaxException
      Returns the first valid tracking link, if any, from the given id from the given list of plug-ins, if any.
      Parameters:
      id - the id of the application for which the tracking link is desired
      trackingUriPlugins - list of plugins from which to get the tracking link
      Returns:
      the desired link if possible, otherwise null
      Throws:
      URISyntaxException
    • getSchemeFromUrl

      public static String getSchemeFromUrl(String url)
      Returns the scheme if present in the url eg. "https://issues.apache.org/jira/browse/YARN" -> "https"