Class RdapSearchActionBase

java.lang.Object
google.registry.rdap.RdapActionBase
google.registry.rdap.RdapSearchActionBase
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
RdapDomainSearchAction, RdapEntitySearchAction, RdapNameserverSearchAction

public abstract class RdapSearchActionBase extends RdapActionBase
Base RDAP (new WHOIS) action for domain, nameserver and entity search requests.
See Also:
  • Field Details

  • Method Details

    • getJsonObjectForResource

      public final google.registry.rdap.RdapSearchResults.BaseSearchResponse getJsonObjectForResource(String pathSearchString, boolean isHeadRequest)
    • getSearchResponse

      public abstract google.registry.rdap.RdapSearchResults.BaseSearchResponse getSearchResponse(boolean isHeadRequest)
    • decodeCursorToken

      protected void decodeCursorToken()
      Decodes the cursor token passed in the HTTP request.

      The cursor token is just the Base 64 encoded value of the last data item returned. To fetch the next page, the code can just decode the cursor, and return only data whose value is greater than the cursor value.

    • encodeCursorToken

      protected String encodeCursorToken(String nextCursorString)
      Returns an encoded cursor token to pass back in the RDAP JSON link strings.
    • getRequestUrlWithExtraParameter

      protected String getRequestUrlWithExtraParameter(String parameterName, String parameterValue)
      Returns the original request URL, but with the specified parameter added or overridden.
    • getDesiredRegistrar

      protected Optional<String> getDesiredRegistrar()
      Returns the registrar on which results should be filtered, or absent().
    • shouldBeVisible

      protected boolean shouldBeVisible(Optional<? extends EppResource> eppResource)
    • shouldBeVisible

      protected boolean shouldBeVisible(EppResource eppResource)
      Returns true if the EPP resource should be visible.

      This is true iff: 1. The resource is not deleted, or the request wants to see deleted items, and is authorized to do so, and: 2. The request did not specify a registrar to filter on, or the registrar matches.

    • shouldBeVisible

      protected boolean shouldBeVisible(Registrar registrar)
      Returns true if the EPP resource should be visible.

      This is true iff: 1. The resource is not deleted, or the request wants to see deleted items, and is authorized to do so, and: 2. The request did not specify a registrar to filter on, or the registrar matches.

    • filterResourcesByVisibility

      protected <T extends EppResource> google.registry.rdap.RdapResultSet<T> filterResourcesByVisibility(List<T> queryResult, int querySizeLimit)
    • getRequestUrlWithExtraParameter

      protected String getRequestUrlWithExtraParameter(String parameterName, List<String> parameterValues)
      Returns the original request URL, but with the specified parameter added or overridden.

      This version handles a list of parameter values, all associated with the same name.

      Example: If the original parameters were "a=w&a=x&b=y&c=z", and this method is called with parameterName = "b" and parameterValues of "p" and "q", the result will be "a=w&a=x&c=z&b=p&b=q". The new values of parameter "b" replace the old ones.