introduce IClientConnector interface
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
This commit is contained in:
parent
17d28ea0c4
commit
fe5c65820d
|
@ -58,6 +58,7 @@ import org.eclipse.jetty.io.ArrayRetainableByteBufferPool;
|
||||||
import org.eclipse.jetty.io.ByteBufferPool;
|
import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
import org.eclipse.jetty.io.ClientConnectionFactory;
|
import org.eclipse.jetty.io.ClientConnectionFactory;
|
||||||
import org.eclipse.jetty.io.ClientConnector;
|
import org.eclipse.jetty.io.ClientConnector;
|
||||||
|
import org.eclipse.jetty.io.IClientConnector;
|
||||||
import org.eclipse.jetty.io.MappedByteBufferPool;
|
import org.eclipse.jetty.io.MappedByteBufferPool;
|
||||||
import org.eclipse.jetty.io.RetainableByteBufferPool;
|
import org.eclipse.jetty.io.RetainableByteBufferPool;
|
||||||
import org.eclipse.jetty.io.ssl.SslClientConnectionFactory;
|
import org.eclipse.jetty.io.ssl.SslClientConnectionFactory;
|
||||||
|
@ -126,7 +127,7 @@ public class HttpClient extends ContainerLifeCycle
|
||||||
private final Set<ContentDecoder.Factory> decoderFactories = new ContentDecoderFactorySet();
|
private final Set<ContentDecoder.Factory> decoderFactories = new ContentDecoderFactorySet();
|
||||||
private final ProxyConfiguration proxyConfig = new ProxyConfiguration();
|
private final ProxyConfiguration proxyConfig = new ProxyConfiguration();
|
||||||
private final HttpClientTransport transport;
|
private final HttpClientTransport transport;
|
||||||
private final ClientConnector connector;
|
private final IClientConnector connector;
|
||||||
private AuthenticationStore authenticationStore = new HttpAuthenticationStore();
|
private AuthenticationStore authenticationStore = new HttpAuthenticationStore();
|
||||||
private CookieManager cookieManager;
|
private CookieManager cookieManager;
|
||||||
private CookieStore cookieStore;
|
private CookieStore cookieStore;
|
||||||
|
@ -161,7 +162,7 @@ public class HttpClient extends ContainerLifeCycle
|
||||||
{
|
{
|
||||||
this.transport = Objects.requireNonNull(transport);
|
this.transport = Objects.requireNonNull(transport);
|
||||||
addBean(transport);
|
addBean(transport);
|
||||||
this.connector = ((AbstractHttpClientTransport)transport).getContainedBeans(ClientConnector.class).stream().findFirst().orElseThrow();
|
this.connector = ((AbstractHttpClientTransport)transport).getContainedBeans(IClientConnector.class).stream().findFirst().orElseThrow();
|
||||||
addBean(handlers);
|
addBean(handlers);
|
||||||
addBean(decoderFactories);
|
addBean(decoderFactories);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ import org.slf4j.LoggerFactory;
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@ManagedObject
|
@ManagedObject
|
||||||
public class ClientConnector extends ContainerLifeCycle
|
public class ClientConnector extends ContainerLifeCycle implements IClientConnector
|
||||||
{
|
{
|
||||||
public static final String CLIENT_CONNECTOR_CONTEXT_KEY = "org.eclipse.jetty.client.connector";
|
public static final String CLIENT_CONNECTOR_CONTEXT_KEY = "org.eclipse.jetty.client.connector";
|
||||||
public static final String REMOTE_SOCKET_ADDRESS_CONTEXT_KEY = CLIENT_CONNECTOR_CONTEXT_KEY + ".remoteSocketAddress";
|
public static final String REMOTE_SOCKET_ADDRESS_CONTEXT_KEY = CLIENT_CONNECTOR_CONTEXT_KEY + ".remoteSocketAddress";
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
//
|
||||||
|
// ========================================================================
|
||||||
|
// Copyright (c) 1995-2021 Mort Bay Consulting Pty Ltd and others.
|
||||||
|
//
|
||||||
|
// This program and the accompanying materials are made available under the
|
||||||
|
// terms of the Eclipse Public License v. 2.0 which is available at
|
||||||
|
// https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
|
||||||
|
// which is available at https://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
|
||||||
|
// ========================================================================
|
||||||
|
//
|
||||||
|
|
||||||
|
package org.eclipse.jetty.io;
|
||||||
|
|
||||||
|
import java.net.SocketAddress;
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||||
|
import org.eclipse.jetty.util.thread.Scheduler;
|
||||||
|
|
||||||
|
public interface IClientConnector
|
||||||
|
{
|
||||||
|
SocketAddress getBindAddress();
|
||||||
|
|
||||||
|
void setBindAddress(SocketAddress bindAddress);
|
||||||
|
|
||||||
|
ByteBufferPool getByteBufferPool();
|
||||||
|
|
||||||
|
void setByteBufferPool(ByteBufferPool byteBufferPool);
|
||||||
|
|
||||||
|
Duration getConnectTimeout();
|
||||||
|
|
||||||
|
void setConnectTimeout(Duration connectTimeout);
|
||||||
|
|
||||||
|
Executor getExecutor();
|
||||||
|
|
||||||
|
void setExecutor(Executor executor);
|
||||||
|
|
||||||
|
Duration getIdleTimeout();
|
||||||
|
|
||||||
|
void setIdleTimeout(Duration idleTimeout);
|
||||||
|
|
||||||
|
Scheduler getScheduler();
|
||||||
|
|
||||||
|
void setScheduler(Scheduler scheduler);
|
||||||
|
|
||||||
|
SslContextFactory.Client getSslContextFactory();
|
||||||
|
|
||||||
|
boolean isConnectBlocking();
|
||||||
|
|
||||||
|
void setConnectBlocking(boolean connectBlocking);
|
||||||
|
}
|
Loading…
Reference in New Issue