/** * @return list of all configured http connectors which are enabled */ @Nonnull public List<HttpConnector> enabledHttpConnectors() { return enabledHttpConnectors( params ); }
private static HttpConnector findConnector( Config config, Encryption encryption ) { return config.enabledHttpConnectors() .stream() .filter( connector -> connector.encryptionLevel() == encryption ) .findFirst() .orElse( null ); }
private Optional<URI> httpConnectorUri( String scheme, Encryption encryption ) { return server.getConfig() .enabledHttpConnectors() .stream() .filter( connector -> connector.encryptionLevel() == encryption ) .findFirst() .map( connector -> connectorUri( scheme, connector ) ); }
private NeoServer createNeoServer( Config config, GraphDatabaseDependencies dependencies ) { GraphFactory graphFactory = createGraphFactory( config ); boolean httpAndHttpsDisabled = config.enabledHttpConnectors().isEmpty(); if ( httpAndHttpsDisabled ) { return new DisabledNeoServer( graphFactory, dependencies, config ); } return createNeoServer( graphFactory, config, dependencies ); }
@Test void shouldBeAbleToOverrideHttpListenAddressWithJustOneParameter() { // given Config config = Config.defaults( stringMap( "dbms.connector.http.enabled", "true", "dbms.connector.http.listen_address", ":8000" ) ); // then assertEquals( 1, config.enabledHttpConnectors().size() ); HttpConnector httpConnector = config.enabledHttpConnectors().get( 0 ); assertEquals( new ListenSocketAddress( "127.0.0.1", 8000 ), config.get( httpConnector.listen_address ) ); }
@Test void shouldBeAbleToOverrideHttpsListenAddressWithJustOneParameter() { // given Config config = Config.defaults( stringMap( "dbms.connector.https.enabled", "true", "dbms.connector.https.listen_address", ":8000" ) ); // then assertEquals( 1, config.enabledHttpConnectors().size() ); HttpConnector httpConnector = config.enabledHttpConnectors().get( 0 ); assertEquals( new ListenSocketAddress( "127.0.0.1", 8000 ), config.get( httpConnector.listen_address ) ); }
@Test void shouldStillSupportCustomNameForHttpConnector() { Config config = Config.defaults( stringMap( "dbms.connector.random_name_that_will_be_unsupported.type", "HTTP", "dbms.connector.random_name_that_will_be_unsupported.encryption", "NONE", "dbms.connector.random_name_that_will_be_unsupported.enabled", "true", "dbms.connector.random_name_that_will_be_unsupported.listen_address", ":8000" ) ); // then assertEquals( 1, config.enabledHttpConnectors().size() ); assertEquals( new ListenSocketAddress( "127.0.0.1", 8000 ), config.get( config.enabledHttpConnectors().get( 0 ).listen_address ) ); }
@Test void shouldStillSupportCustomNameForHttpsConnector() { Config config = Config.defaults( stringMap( "dbms.connector.random_name_that_will_be_unsupported.type", "HTTP", "dbms.connector.random_name_that_will_be_unsupported.encryption", "TLS", "dbms.connector.random_name_that_will_be_unsupported.enabled", "true", "dbms.connector.random_name_that_will_be_unsupported.listen_address", ":9000" ) ); // then assertEquals( 1, config.enabledHttpConnectors().size() ); assertEquals( new ListenSocketAddress( "127.0.0.1", 9000 ), config.get( config.enabledHttpConnectors().get( 0 ).listen_address ) ); }
@Test void shouldBeAbleToDisableHttpConnectorWithJustOneParameter() { // given Config disableHttpConfig = Config.defaults( stringMap( "dbms.connector.http.enabled", "false", "dbms.connector.https.enabled", "false" ) ); // then assertTrue( disableHttpConfig.enabledHttpConnectors().isEmpty() ); assertEquals( 2, disableHttpConfig.httpConnectors().size() ); }
@Test void shouldDeriveListenAddressFromDefaultListenAddress() { // given Config config = Config.fromSettings( stringMap( "dbms.connector.https.enabled", "true", "dbms.connector.http.enabled", "true", "dbms.connectors.default_listen_address", "0.0.0.0" ) ).withServerDefaults().build(); // then assertEquals( 2, config.enabledHttpConnectors().size() ); config.enabledHttpConnectors().forEach( c -> assertEquals( "0.0.0.0", config.get( c.listen_address ).getHostname() ) ); }
boolean httpAndHttpsDisabled = dbConfig.enabledHttpConnectors().isEmpty();
@Test void shouldDeriveListenAddressFromDefaultListenAddressAndSpecifiedPorts() { // given Config config = Config.defaults( stringMap( "dbms.connector.https.enabled", "true", "dbms.connector.http.enabled", "true", "dbms.connectors.default_listen_address", "0.0.0.0", "dbms.connector.http.listen_address", ":8000", "dbms.connector.https.listen_address", ":9000" ) ); // then assertEquals( 2, config.enabledHttpConnectors().size() ); config.enabledHttpConnectors().forEach( c -> { if ( c.key().equals( "https" ) ) { assertEquals( new ListenSocketAddress( "0.0.0.0", 9000 ), config.get( c.listen_address ) ); } else { assertEquals( new ListenSocketAddress( "0.0.0.0", 8000 ), config.get( c.listen_address ) ); } } ); }
/** * @return list of all configured http connectors which are enabled */ @Nonnull public List<HttpConnector> enabledHttpConnectors() { return enabledHttpConnectors( params ); }
private static HttpConnector findConnector( Config config, Encryption encryption ) { return config.enabledHttpConnectors() .stream() .filter( connector -> connector.encryptionLevel() == encryption ) .findFirst() .orElse( null ); }
private Optional<URI> httpConnectorUri( String scheme, Encryption encryption ) { return server.getConfig() .enabledHttpConnectors() .stream() .filter( connector -> connector.encryptionLevel() == encryption ) .findFirst() .map( connector -> connectorUri( scheme, connector ) ); }
private NeoServer createNeoServer( Config config, GraphDatabaseDependencies dependencies ) { GraphFactory graphFactory = createGraphFactory( config ); boolean httpAndHttpsDisabled = config.enabledHttpConnectors().isEmpty(); if ( httpAndHttpsDisabled ) { return new DisabledNeoServer( graphFactory, dependencies, config ); } return createNeoServer( graphFactory, config, dependencies ); }
static ClientConnectorAddresses extractFromConfig( Config config ) { List<ConnectorUri> connectorUris = new ArrayList<>(); List<BoltConnector> boltConnectors = config.enabledBoltConnectors(); if ( boltConnectors.isEmpty() ) { throw new IllegalArgumentException( "A Bolt connector must be configured to run a cluster" ); } boltConnectors .forEach( c -> connectorUris.add( new ConnectorUri( bolt, config.get( c.advertised_address ) ) ) ); config.enabledHttpConnectors() .forEach( c -> connectorUris.add( new ConnectorUri( Encryption.NONE.equals(c.encryptionLevel() ) ? http : https, config.get( c.advertised_address ) ) ) ); return new ClientConnectorAddresses( connectorUris ); }
boolean httpAndHttpsDisabled = dbConfig.enabledHttpConnectors().isEmpty();