Class DomainInfoFlow

java.lang.Object
google.registry.flows.domain.DomainInfoFlow
All Implemented Interfaces:
Flow, MutatingFlow, TransactionalFlow

@ReportingSpec(DOMAIN_INFO) @IsolationLevel(TRANSACTION_REPEATABLE_READ) public final class DomainInfoFlow extends Object implements MutatingFlow
An EPP flow that returns information about a domain.

The registrar that owns the domain, and any registrar presenting a valid authInfo for the domain, will get a rich result with all the domain's fields. All other requests will be answered with a minimal result containing only basic information about the domain.

This implements MutatingFlow instead of TransactionalFlow as a workaround so that the common workflow of "create domain, then immediately get domain info" does not run into replication lag issues where the info command claims the domain does not exist.

Expected Error
FlowUtils.NotLoggedInException, FlowUtils.UnknownCurrencyEppException, ResourceFlowUtils.BadAuthInfoForResourceException, ResourceFlowUtils.ResourceDoesNotExistException, DomainFlowUtils.BadPeriodUnitException, DomainFlowUtils.CurrencyUnitMismatchException, DomainFlowUtils.FeeChecksDontSupportPhasesException, DomainFlowUtils.RestoresAreAlwaysForOneYearException, DomainFlowUtils.TransfersAreAlwaysForOneYearException
  • Method Details

    • run

      public EppResponse run() throws EppException
      Description copied from interface: Flow
      Executes an EPP "flow" and returns a response object (or in the specific case of the "hello" flow a greeting object) that can be converted to XML and returned to the caller.

      Flows should have Flow.run() called once per instance. If a flow needs to be retried, a new instance should be created.

      Flows should get all of their parameters via injection off of FlowComponent.

      Specified by:
      run in interface Flow
      Throws:
      EppException