org.littleshoot.proxy.impl.ConnectionState Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of littleproxy Show documentation
Show all versions of littleproxy Show documentation
LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
The newest version!
package org.littleshoot.proxy.impl;
enum ConnectionState {
/**
* Connection attempting to connect.
*/
CONNECTING(true),
/**
* In the middle of doing an SSL handshake.
*/
HANDSHAKING(true),
/**
* In the process of negotiating an HTTP CONNECT from the client.
*/
NEGOTIATING_CONNECT(true),
/**
* When forwarding a CONNECT to a chained proxy, we await the CONNECTION_OK
* message from the proxy.
*/
AWAITING_CONNECT_OK(true),
/**
* Connected but waiting for proxy authentication.
*/
AWAITING_PROXY_AUTHENTICATION,
/**
* Connected and awaiting initial message (e.g. HttpRequest or
* HttpResponse).
*/
AWAITING_INITIAL,
/**
* Connected and awaiting HttpContent chunk.
*/
AWAITING_CHUNK,
/**
* We've asked the client to disconnect, but it hasn't yet.
*/
DISCONNECT_REQUESTED(),
/**
* Disconnected
*/
DISCONNECTED();
private final boolean partOfConnectionFlow;
ConnectionState(boolean partOfConnectionFlow) {
this.partOfConnectionFlow = partOfConnectionFlow;
}
ConnectionState() {
this(false);
}
/**
* Indicates whether this ConnectionState corresponds to a step in a
* {@link ConnectionFlow}. This is useful to distinguish so that we know
* whether we're in the process of establishing a connection.
*
* @return true if part of connection flow, otherwise false
*/
public boolean isPartOfConnectionFlow() {
return partOfConnectionFlow;
}
/**
* Indicates whether this ConnectionState is no longer waiting for messages and is either in the process of disconnecting
* or is already disconnected.
*
* @return true if the connection state is {@link #DISCONNECT_REQUESTED} or {@link #DISCONNECTED}, otherwise false
*/
public boolean isDisconnectingOrDisconnected() {
return this == DISCONNECT_REQUESTED || this == DISCONNECTED;
}
}