package com.limegroup.gnutella.http;
import com.limegroup.gnutella.util.LimeWireUtils;
/**
* This class adds type safety for constant HTTP header values. If there's
* an HTTP header value that is constant, simply add it to this enumeration.
*/
public class ConstantHTTPHeaderValue {
/** Accepting or encoding in deflate, in the Accept-Encoding or Content-Encoding fields. */
public static final HTTPHeaderValue DEFLATE_VALUE = new SimpleHTTPHeaderValue("deflate");
/** The 'close' value sent the server expects to close the connection. */
public static final HTTPHeaderValue CLOSE_VALUE = new SimpleHTTPHeaderValue("close");
/** The 'browse/version' value sent. */
public static final HTTPHeaderValue BROWSE_FEATURE =
new SimpleHTTPHeaderValue(HTTPConstants.BROWSE_PROTOCOL + "/" + HTTPConstants.BROWSE_VERSION);
/** The 'chat/version' value sent. */
public static final HTTPHeaderValue CHAT_FEATURE =
new SimpleHTTPHeaderValue(HTTPConstants.CHAT_PROTOCOL + "/" + HTTPConstants.CHAT_VERSION);
/** The 'queue/version' value sent. */
public static final HTTPHeaderValue QUEUE_FEATURE =
new SimpleHTTPHeaderValue(HTTPConstants.QUEUE_PROTOCOL + "/" + HTTPConstants.QUEUE_VERSION);
/** The queue version. */
public static final HTTPHeaderValue QUEUE_VERSION =
new SimpleHTTPHeaderValue("" + HTTPConstants.QUEUE_VERSION);
/** The g2/version' value sent. */
public static final HTTPHeaderValue G2_FEATURE =
new SimpleHTTPHeaderValue(HTTPConstants.G2_PROTOCOL + "/" + HTTPConstants.G2_VERSION);
/** The host sending this header would like to receive alternate locations behind firewalls. */
public static final HTTPHeaderValue PUSH_LOCS_FEATURE =
new SimpleHTTPHeaderValue(HTTPConstants.PUSH_LOCS + "/" + HTTPConstants.PUSH_LOCS_VERSION);
/**
* The host sending this header supports
* the designated version of Firewall to Firewall transfer, and is
* most likely firewalled.
*/
public static final HTTPHeaderValue FWT_PUSH_LOCS_FEATURE =
new SimpleHTTPHeaderValue(HTTPConstants.FW_TRANSFER + "/" + HTTPConstants.FWT_TRANSFER_VERSION);
/** The current User Agent. */
public static final HTTPHeaderValue USER_AGENT =
new HTTPHeaderValue() {
public String httpStringValue() {
return LimeWireUtils.getHttpServer();
}
@Override
public String toString() {
return httpStringValue();
}
};
/** The current HTTP Server, as given in the "Server: " header. */
public static final HTTPHeaderValue SERVER_VALUE =
new HTTPHeaderValue() {
public String httpStringValue() {
return LimeWireUtils.getHttpServer();
}
@Override
public String toString() {
return httpStringValue();
}
};
}