public URI buildURI( AdvertisedSocketAddress address, boolean isSsl ) { StringBuilder sb = new StringBuilder(); sb.append( "http" ); if ( isSsl ) { sb.append( "s" ); } sb.append( "://" ); sb.append( address.getHostname() ); int port = address.getPort(); if ( port != 80 && port != 443 ) { sb.append( ":" ); sb.append( port ); } sb.append( "/" ); try { return new URI( sb.toString() ); } catch ( URISyntaxException e ) { throw new RuntimeException( e ); } }
private void registerHttpsAddressAfterStartup() { if ( httpsConnector != null ) { InetSocketAddress localHttpsAddress = webServer.getLocalHttpsAddress(); connectorPortRegister.register( httpsConnector.key(), localHttpsAddress ); if ( httpsAdvertisedAddress.getPort() == 0 ) { httpsAdvertisedAddress = new AdvertisedSocketAddress( localHttpsAddress.getHostString(), localHttpsAddress.getPort() ); } } }
private void registerHttpAddressAfterStartup() { if ( httpConnector != null ) { InetSocketAddress localHttpAddress = webServer.getLocalHttpAddress(); connectorPortRegister.register( httpConnector.key(), localHttpAddress ); if ( httpAdvertisedAddress.getPort() == 0 ) { httpAdvertisedAddress = new AdvertisedSocketAddress( localHttpAddress.getHostString(), localHttpAddress.getPort() ); } } }
public Builder addBoltConnectorFromConfig( String key, String scheme, Config config, Setting<URI> override, ConnectorPortRegister portRegister ) { // If an override is configured, add it with the HIGHEST precedence if ( config.isConfigured( override ) ) { add( key, config.get( override ), HIGHEST ); } config.enabledBoltConnectors().stream().findFirst().ifPresent( c -> { AdvertisedSocketAddress address = config.get( c.advertised_address ); int port = address.getPort(); if ( port == 0 ) { port = portRegister.getLocalAddress( c.key() ).getPort(); } // If advertised address is explicitly set, set the precedence to HIGH - eitherwise set it as LOWEST (default) add( key, scheme, address.getHostname(), port, config.isConfigured( c.advertised_address ) ? HIGH : LOWEST ); } ); return this; }
@Test public void shouldCombineDefaultHostnameWithPortFromListenAddressSettingWhenNoValueProvided() { // given Map<String,String> config = stringMap( GraphDatabaseSettings.default_advertised_address.name(), "server1.example.com" ); // when AdvertisedSocketAddress advertisedSocketAddress = advertised_address_setting.apply( config::get ); // then assertEquals( "server1.example.com", advertisedSocketAddress.getHostname() ); assertEquals( 1234, advertisedSocketAddress.getPort() ); }
@Test public void shouldCombineDefaultHostnameWithExplicitPortWhenOnlyAPortProvided() { // given Map<String,String> config = stringMap( GraphDatabaseSettings.default_advertised_address.name(), "server1.example.com", advertised_address_setting.name(), ":4000" ); // when AdvertisedSocketAddress advertisedSocketAddress = advertised_address_setting.apply( config::get ); // then assertEquals( "server1.example.com", advertisedSocketAddress.getHostname() ); assertEquals( 4000, advertisedSocketAddress.getPort() ); } }
@Test public void shouldParseExplicitSettingValueWhenProvided() { // given Map<String,String> config = stringMap( GraphDatabaseSettings.default_advertised_address.name(), "server1.example.com", advertised_address_setting.name(), "server1.internal:4000" ); // when AdvertisedSocketAddress advertisedSocketAddress = advertised_address_setting.apply( config::get ); // then assertEquals( "server1.internal", advertisedSocketAddress.getHostname() ); assertEquals( 4000, advertisedSocketAddress.getPort() ); }
@Test void groupToScopeSetting() { // given String hostname = "my_other_host"; int port = 9999; String scoping = "bla"; Map<String,String> config = stringMap( GraphDatabaseSettings.default_advertised_address.name(), hostname, new BoltConnector( scoping ).advertised_address.name(), ":" + port ); // when BoltConnector boltConnector = new BoltConnector( scoping ); Setting<AdvertisedSocketAddress> advertisedAddress = boltConnector.advertised_address; AdvertisedSocketAddress advertisedSocketAddress = advertisedAddress.apply( config::get ); // then assertEquals( hostname, advertisedSocketAddress.getHostname() ); assertEquals( port, advertisedSocketAddress.getPort() ); }
private URI toUri() { try { return new URI( scheme.name().toLowerCase(), null, socketAddress.getHostname(), socketAddress.getPort(), null, null, null ); } catch ( URISyntaxException e ) { throw new IllegalArgumentException( e ); } }
private URI toUri() { try { return new URI( scheme.name().toLowerCase(), null, socketAddress.getHostname(), socketAddress.getPort(), null, null, null ); } catch ( URISyntaxException e ) { throw new IllegalArgumentException( e ); } }
public URI buildURI( AdvertisedSocketAddress address, boolean isSsl ) { StringBuilder sb = new StringBuilder(); sb.append( "http" ); if ( isSsl ) { sb.append( "s" ); } sb.append( "://" ); sb.append( address.getHostname() ); int port = address.getPort(); if ( port != 80 && port != 443 ) { sb.append( ":" ); sb.append( port ); } sb.append( "/" ); try { return new URI( sb.toString() ); } catch ( URISyntaxException e ) { throw new RuntimeException( e ); } }
private void registerHttpsAddressAfterStartup() { if ( httpsConnector != null ) { InetSocketAddress localHttpsAddress = webServer.getLocalHttpsAddress(); connectorPortRegister.register( httpsConnector.key(), localHttpsAddress ); if ( httpsAdvertisedAddress.getPort() == 0 ) { httpsAdvertisedAddress = new AdvertisedSocketAddress( localHttpsAddress.getHostString(), localHttpsAddress.getPort() ); } } }
private void registerHttpAddressAfterStartup() { if ( httpConnector != null ) { InetSocketAddress localHttpAddress = webServer.getLocalHttpAddress(); connectorPortRegister.register( httpConnector.key(), localHttpAddress ); if ( httpAdvertisedAddress.getPort() == 0 ) { httpAdvertisedAddress = new AdvertisedSocketAddress( localHttpAddress.getHostString(), localHttpAddress.getPort() ); } } }
AdvertisedSocketAddress resolveCorrectCCAddress( Config config, OptionalHostnamePort userProvidedAddress ) { AdvertisedSocketAddress defaultValue = readDefaultConfigAddressCC( config ); return new AdvertisedSocketAddress( userProvidedAddress.getHostname().orElse( defaultValue.getHostname() ), userProvidedAddress.getPort().orElse( defaultValue.getPort() ) ); }
@Override public Collection<AdvertisedSocketAddress> resolve( AdvertisedSocketAddress initialAddress ) { Set<AdvertisedSocketAddress> addresses = new HashSet<>(); InetAddress[] ipAddresses = new InetAddress[0]; try { ipAddresses = domainNameResolver.resolveDomainName( initialAddress.getHostname() ); } catch ( UnknownHostException e ) { log.error( format("Failed to resolve host '%s'", initialAddress.getHostname()), e); } for ( InetAddress ipAddress : ipAddresses ) { addresses.add( new AdvertisedSocketAddress( ipAddress.getHostAddress(), initialAddress.getPort() ) ); } userLog.info( "Resolved initial host '%s' to %s", initialAddress, addresses ); return addresses; } }
public Builder addBoltConnectorFromConfig( String key, String scheme, Config config, Setting<URI> override, ConnectorPortRegister portRegister ) { // If an override is configured, add it with the HIGHEST precedence if ( config.isConfigured( override ) ) { add( key, config.get( override ), HIGHEST ); } config.enabledBoltConnectors().stream().findFirst().ifPresent( c -> { AdvertisedSocketAddress address = config.get( c.advertised_address ); int port = address.getPort(); if ( port == 0 ) { port = portRegister.getLocalAddress( c.key() ).getPort(); } // If advertised address is explicitly set, set the precedence to HIGH - eitherwise set it as LOWEST (default) add( key, scheme, address.getHostname(), port, config.isConfigured( c.advertised_address ) ? HIGH : LOWEST ); } ); return this; }