Class EndpointDiscovery


  • public class EndpointDiscovery
    extends Object
    Discovers the radio browser API endpoint that suits the application.
    • Constructor Detail

      • EndpointDiscovery

        public EndpointDiscovery​(@NonNull
                                 @NonNull String myUserAgent)
        Constructs a new instance.
        Parameters:
        myUserAgent - the user agent String to use while discovery.
      • EndpointDiscovery

        public EndpointDiscovery​(@NonNull
                                 @NonNull String myUserAgent,
                                 String myProxyUri,
                                 String myProxyUser,
                                 String myProxyPassword)
        Constructs a new instance.
        Parameters:
        myUserAgent - the user agent String to use while discovery.
        myProxyUri - the optional URI of a HTTP proxy to use.
        myProxyUser - the optional username to authenticate with to access the proxy.
        myProxyPassword - the optional password to authenticate with to access the proxy.
    • Method Detail

      • discover

        public Optional<String> discover()
                                  throws IOException
        Discovers the best performing endpoint.
        Returns:
        an optional endpoint address that can be passed to the RadioBrowser constructors.
        Throws:
        IOException - when there is an IO problem while discovery.