@Override public TransportConnection connect( HostnamePort address ) throws IOException { socket.setSoTimeout( 30000 * 1000 ); // TOOD socket.connect( new InetSocketAddress( address.getHost(), address.getPort() ) ); in = socket.getInputStream(); out = socket.getOutputStream(); return this; }
public WebSocketConnection() { this( WebSocketClient::new, address -> URI.create( "ws://" + address.getHost() + ":" + address.getPort() ) ); }
/** * Takes a raw address that can have a single port or 2 ports (lower and upper bounds of port range) and * processes it to a clean separation of host and ports. When only one port is specified, it is in the lower bound. * The presence of an upper bound implies a range. * * @param rawAddress the raw address that a user can provide via config or command line * @return the host, lower bound port, and upper bound port */ public static OptionalHostnamePort toOptionalHostnamePortFromRawAddress( String rawAddress ) { HostnamePort hostnamePort = new HostnamePort( rawAddress ); Optional<String> processedHost = Optional.ofNullable( hostnamePort.getHost() ) .map( str -> str.replaceAll( "\\[", "" ) ) .map( str -> str.replaceAll( "]", "" ) ); return new OptionalHostnamePort( processedHost, optionalFromZeroable( hostnamePort.getPorts()[0] ), optionalFromZeroable( hostnamePort.getPorts()[1] ) ); }
@Test void testDefaultHost() { HostnamePort hostnamePort = new HostnamePort( ":1234" ); assertThat( hostnamePort.getHost( "1.2.3.4" ), equalTo( "1.2.3.4" ) ); }
@Test void testHostnamePortRange() { HostnamePort hostnamePort = new HostnamePort( "myhost:1234-1243" ); assertThat( hostnamePort.getHost(), equalTo( "myhost" ) ); assertThat( hostnamePort.getPort(), equalTo( 1234 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[] {1234, 1243} ) ); }
@Test void testIPv6AddressWithSchemeAndPort() { HostnamePort hostnamePort = new HostnamePort( "foo://[ff02::1:1]:9191" ); assertThat( hostnamePort.getHost( null ), equalTo( "[ff02::1:1]" ) ); assertThat( hostnamePort.getPort(), equalTo( 9191 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[]{9191, 9191} ) ); }
@Test void testIPv6Address() { HostnamePort hostnamePort = new HostnamePort( "[2001:cdba:0:0:0:0:3257:9652]" ); assertThat( hostnamePort.getHost( null ), equalTo( "[2001:cdba:0:0:0:0:3257:9652]" ) ); assertThat( hostnamePort.getPort(), equalTo( 0 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[]{0, 0} ) ); }
@Test void testIPv6LocalhostWithSchemeAndPort() { HostnamePort hostnamePort = new HostnamePort( "foo://[::1]:6362" ); assertThat( hostnamePort.getHost( null ), equalTo( "[::1]" ) ); assertThat( hostnamePort.getPort(), equalTo( 6362 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[]{6362, 6362} ) ); } }
@Test void testHostnamePort() { HostnamePort hostnamePort = new HostnamePort( "myhost:1234" ); assertThat( hostnamePort.getHost(), equalTo( "myhost" ) ); assertThat( hostnamePort.getPort(), equalTo( 1234 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[] {1234, 1234} ) ); }
@Test void testHostnamePortRangeInversed() { HostnamePort hostnamePort = new HostnamePort( "myhost:1243-1234" ); assertThat( hostnamePort.getHost(), equalTo( "myhost" ) ); assertThat( hostnamePort.getPort(), equalTo( 1243 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[] {1243, 1234} ) ); }
@Test void testIPv6Localhost() { HostnamePort hostnamePort = new HostnamePort( "[::1]" ); assertThat( hostnamePort.getHost( null ), equalTo( "[::1]" ) ); assertThat( hostnamePort.getPort(), equalTo( 0 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[]{0, 0} ) ); }
@Test void testHostnameOnly() { HostnamePort hostnamePort = new HostnamePort( "myhost" ); assertThat( hostnamePort.getHost(), equalTo( "myhost" ) ); assertThat( hostnamePort.getPort(), equalTo( 0 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[]{0, 0} ) ); }
public SecureWebSocketConnection() { super( createTestClientSupplier(), address -> URI.create( "wss://" + address.getHost() + ":" + address.getPort() ) ); }
@Test void testSinglePortOnly() { HostnamePort hostnamePort = new HostnamePort( ":1234" ); assertNull( hostnamePort.getHost() ); assertThat( hostnamePort.getPort(), equalTo( 1234 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[] { 1234, 1234 } ) ); }
@Test void testPortRangeOnly() { HostnamePort hostnamePort = new HostnamePort( ":1230-1240" ); assertNull( hostnamePort.getHost() ); assertThat( hostnamePort.getPort(), equalTo( 1230 ) ); assertThat( hostnamePort.getPorts(), equalTo( new int[] { 1230, 1240 } ) ); }
private String httpsUri() throws Exception { HostnamePort hostPort = addressForConnector( "https" ); assertNotNull( hostPort ); return new URIBuilder() .setScheme( "https" ) .setHost( hostPort.getHost() ) .setPort( hostPort.getPort() ) .build() .toString(); }
@Test public void shouldExposeBaseUriWhenHttpDisabledAndHttpsEnabled() throws Exception { startServer( false, true ); URI uri = server.baseUri(); assertEquals( "https", uri.getScheme() ); HostnamePort expectedHostPort = addressForConnector( "https" ); assertEquals( expectedHostPort.getHost(), uri.getHost() ); assertEquals( expectedHostPort.getPort(), uri.getPort() ); }
@Test public void shouldExposeBaseUriWhenHttpEnabledAndHttpsDisabled() throws Exception { startServer( true, false ); URI uri = server.baseUri(); assertEquals( "http", uri.getScheme() ); HostnamePort expectedHostPort = addressForConnector( "http" ); assertEquals( expectedHostPort.getHost(), uri.getHost() ); assertEquals( expectedHostPort.getPort(), uri.getPort() ); }
public static void verifyConnector( GraphDatabaseService db, String name, boolean enabled ) { HostnamePort address = connectorAddress( db, name ); if ( enabled ) { assertNotNull( address ); assertTrue( canConnectToSocket( address.getHost(), address.getPort() ) ); } else { assertNull( address ); } }
@Test public void shouldPickUpAddressFromConfig() throws Exception { ListenSocketAddress nonDefaultAddress = new ListenSocketAddress( "0.0.0.0", 0 ); server = server().onAddress( nonDefaultAddress ) .usingDataDir( folder.directory( name.getMethodName() ).getAbsolutePath() ) .build(); server.start(); HostnamePort localHttpAddress = getLocalHttpAddress(); assertNotEquals( HttpConnector.Encryption.NONE.defaultPort, localHttpAddress.getPort() ); assertEquals( nonDefaultAddress.getHostname(), localHttpAddress.getHost() ); JaxRsResponse response = new RestRequest( server.baseUri() ).get(); assertThat( response.getStatus(), is( 200 ) ); response.close(); }