Class HTTPIngressPath

  • All Implemented Interfaces:
    com.marcnuri.yakc.model.Model

    public class HTTPIngressPath
    extends java.lang.Object
    implements com.marcnuri.yakc.model.Model
    HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend.
    • Constructor Detail

      • HTTPIngressPath

        public HTTPIngressPath​(@NonNull
                               @NonNull IngressBackend backend,
                               java.lang.String path,
                               java.lang.String pathType)
      • HTTPIngressPath

        public HTTPIngressPath()
    • Method Detail

      • getPath

        public java.lang.String getPath()
        Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/'. When unspecified, all paths from incoming requests are matched.
      • getPathType

        public java.lang.String getPathType()
        PathType determines the interpretation of the Path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is

        done on a path element by element basis. A path element refers is the

        list of labels in the path split by the '/' separator. A request is a

        match for path p if every p is an element-wise prefix of p of the

        request path. Note that if the last element of the path is a substring

        of the last element in request path, it is not a match (e.g. /foo/bar

        matches /foo/bar/baz, but does not match /foo/barbaz).

        * ImplementationSpecific: Interpretation of the Path matching is up to

        the IngressClass. Implementations can treat this as a separate PathType

        or treat it identically to Prefix or Exact path types.

        Implementations are required to support all path types. Defaults to ImplementationSpecific.

      • setBackend

        public void setBackend​(@NonNull
                               @NonNull IngressBackend backend)
      • setPath

        public void setPath​(java.lang.String path)
        Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/'. When unspecified, all paths from incoming requests are matched.
      • setPathType

        public void setPathType​(java.lang.String pathType)
        PathType determines the interpretation of the Path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is

        done on a path element by element basis. A path element refers is the

        list of labels in the path split by the '/' separator. A request is a

        match for path p if every p is an element-wise prefix of p of the

        request path. Note that if the last element of the path is a substring

        of the last element in request path, it is not a match (e.g. /foo/bar

        matches /foo/bar/baz, but does not match /foo/barbaz).

        * ImplementationSpecific: Interpretation of the Path matching is up to

        the IngressClass. Implementations can treat this as a separate PathType

        or treat it identically to Prefix or Exact path types.

        Implementations are required to support all path types. Defaults to ImplementationSpecific.

      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object