blob: a963613b570bad0aa9e9d7eeb3204da783c008e4 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.coyote.http11;
import org.apache.tomcat.util.buf.ByteChunk;
/**
* Constants.
*
* @author Remy Maucherat
*/
public final class Constants {
// -------------------------------------------------------------- Constants
/**
* Package name.
*/
public static final String Package = "org.apache.coyote.http11";
public static final int DEFAULT_CONNECTION_LINGER = -1;
public static final int DEFAULT_CONNECTION_TIMEOUT = 60000;
public static final int DEFAULT_CONNECTION_UPLOAD_TIMEOUT = 300000;
public static final int DEFAULT_SERVER_SOCKET_TIMEOUT = 0;
public static final boolean DEFAULT_TCP_NO_DELAY = true;
/**
* CRLF.
*/
public static final String CRLF = "\r\n";
/**
* Server string.
*/
public static final byte[] SERVER_BYTES =
ByteChunk.convertToBytes("Server: Apache-Coyote/1.1" + CRLF);
/**
* CR.
*/
public static final byte CR = (byte) '\r';
/**
* LF.
*/
public static final byte LF = (byte) '\n';
/**
* SP.
*/
public static final byte SP = (byte) ' ';
/**
* HT.
*/
public static final byte HT = (byte) '\t';
/**
* COLON.
*/
public static final byte COLON = (byte) ':';
/**
* 'A'.
*/
public static final byte A = (byte) 'A';
/**
* 'a'.
*/
public static final byte a = (byte) 'a';
/**
* 'Z'.
*/
public static final byte Z = (byte) 'Z';
/**
* '?'.
*/
public static final byte QUESTION = (byte) '?';
/**
* Lower case offset.
*/
public static final byte LC_OFFSET = A - a;
/**
* Default HTTP header buffer size.
*/
public static final int DEFAULT_HTTP_HEADER_BUFFER_SIZE = 48 * 1024;
/* Various constant "strings" */
public static final byte[] CRLF_BYTES = ByteChunk.convertToBytes(CRLF);
public static final byte[] COLON_BYTES = ByteChunk.convertToBytes(": ");
public static final String CONNECTION = "Connection";
public static final String CLOSE = "close";
public static final byte[] CLOSE_BYTES =
ByteChunk.convertToBytes(CLOSE);
public static final String KEEPALIVE = "keep-alive";
public static final byte[] KEEPALIVE_BYTES =
ByteChunk.convertToBytes(KEEPALIVE);
public static final String CHUNKED = "chunked";
public static final byte[] ACK_BYTES =
ByteChunk.convertToBytes("HTTP/1.1 100 Continue" + CRLF + CRLF);
public static final String TRANSFERENCODING = "Transfer-Encoding";
public static final byte[] _200_BYTES =
ByteChunk.convertToBytes("200");
public static final byte[] _400_BYTES =
ByteChunk.convertToBytes("400");
public static final byte[] _404_BYTES =
ByteChunk.convertToBytes("404");
/**
* Identity filters (input and output).
*/
public static final int IDENTITY_FILTER = 0;
/**
* Chunked filters (input and output).
*/
public static final int CHUNKED_FILTER = 1;
/**
* Void filters (input and output).
*/
public static final int VOID_FILTER = 2;
/**
* GZIP filter (output).
*/
public static final int GZIP_FILTER = 3;
/**
* Buffered filter (input)
*/
public static final int BUFFERED_FILTER = 3;
/**
* HTTP/1.0.
*/
public static final String HTTP_10 = "HTTP/1.0";
/**
* HTTP/1.1.
*/
public static final String HTTP_11 = "HTTP/1.1";
public static final byte[] HTTP_11_BYTES =
ByteChunk.convertToBytes(HTTP_11);
/**
* GET.
*/
public static final String GET = "GET";
/**
* HEAD.
*/
public static final String HEAD = "HEAD";
/**
* POST.
*/
public static final String POST = "POST";
/**
* Should custom status messages be allowed in headers? Replicated to avoid
* an exception on first access if running under a security manager.
*/
public static final boolean USE_CUSTOM_STATUS_MSG_IN_HEADER =
org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER;
}