package com.limegroup.gnutella.handshaking;
import com.limegroup.gnutella.http.ConstantHTTPHeaderValue;
import com.limegroup.gnutella.http.HTTPHeaderName;
/**
* Provides names for the headers used in the gnutella connection handshake
* @author Anurag Singla
*/
public final class HeaderNames {
/**
* Private constructor to ensure that other classes cannot mistakenly
* construct an instance of this class.
*/
private HeaderNames() {}
/** Obsolete; use X_LISTEN_IP instead */
public static final String X_MY_ADDRESS = "X-My-Address";
/** The replacement for X_MY_ADDRESS */
public static final String LISTEN_IP = "Listen-IP";
public static final String X_ULTRAPEER = "X-Ultrapeer";
public static final String X_TRY_ULTRAPEERS = "X-Try-Ultrapeers";
public static final String X_QUERY_ROUTING = "X-Query-Routing";
/**
* Constant string for the header indicating support for pong
* caching.
*/
public static final String X_PONG_CACHING = "Pong-Caching";
public static final String X_ULTRAPEER_NEEDED = "X-Ultrapeer-Needed";
public static final String USER_AGENT = "User-Agent";
public static final String X_TEMP_CONNECTION = "X-Temp-Connection";
public static final String REMOTE_IP = "Remote-IP";
public static final String GGEP = "GGEP";
/** Requerying exclamation. */
public static final String X_REQUERIES = "X-Requeries";
/**
* Header name for the GUESS version.
*/
public static final String X_GUESS = "X-Guess";
public static final String X_VERSION = "X-Version";
/**
* Header name for the degree of intra-Ultrapeer connections the
* host tries to maintain.
*/
public static final String X_DEGREE = "X-Degree";
/**
* Header for the version of query routing supported at the Ultrapeer level.
*/
public static final String X_ULTRAPEER_QUERY_ROUTING =
"X-Ultrapeer-Query-Routing";
/**
* Constant for the header advertising support for vendor messages.
*/
public static final String X_VENDOR_MESSAGE = "Vendor-Message";
/**
* Constant for the header advertising support of extendible probe queries.
*/
public static final String X_PROBE_QUERIES = "X-Ext-Probes";
/**
* Send by new hosts using dynamic-query style searching to denote the
* maximum TTL that should be sent to them. This is only for queries
* coming directly from this host, and is affected by degree.
*/
public static final String X_MAX_TTL = "X-Max-TTL";
/**
* Header to indicate the version of dynamic querying in use.
*/
public static final String X_DYNAMIC_QUERY = "X-Dynamic-Querying";
/**
* Header to indicate the locale that the client is running
*/
public static final String X_LOCALE_PREF = "X-Locale-Pref";
/**
* Header for Content-Encoding. Useful because typing
* HTTPHeaderName.CONTENT_ENCODING.httpStringValue()
* in all handshaking classes is cumbersome.
*/
public static final String CONTENT_ENCODING =
HTTPHeaderName.CONTENT_ENCODING.httpStringValue();
/**
* Header for Accept-Encoding. Useful because typing
* HTTPHeaderName.ACCEPT_ENCODING.httpStringValue()
* in all handshaking classes is cumbersome.
*/
public static final String ACCEPT_ENCODING =
HTTPHeaderName.ACCEPT_ENCODING.httpStringValue();
/**
* The value for deflate -- the type of encoding we can read & write.
* Useful because typing
* ConstantHTTPHeaderValue.DEFLATE_VALUE.httpStringValue()
* in all handshaking classes is cumbersome.
*/
public static final String DEFLATE_VALUE =
ConstantHTTPHeaderValue.DEFLATE_VALUE.httpStringValue();
/**
* Constant for the header indicating that the crawler is connecting.
*/
public static final String CRAWLER = "Crawler";
/**
* Constant for the header indicating the number of leaf connections to
* the crawler.
*/
public static final String LEAVES = "Leaves";
/**
* Constant for the header indicating the number of ultrapeer connections
* to the crawler.
*/
public static final String PEERS = "Peers";
}