Mercurial Hosting > luan
diff src/org/eclipse/jetty/http/HttpHeaderValues.java @ 802:3428c60d7cfc
replace jetty jars with source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 07 Sep 2016 21:15:48 -0600 |
parents | |
children | 74b9daf2826c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/eclipse/jetty/http/HttpHeaderValues.java Wed Sep 07 21:15:48 2016 -0600 @@ -0,0 +1,88 @@ +// +// ======================================================================== +// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.http; + +import org.eclipse.jetty.io.Buffer; +import org.eclipse.jetty.io.BufferCache; +import org.eclipse.jetty.io.ByteArrayBuffer; + +/** + * Cached HTTP Header values. + * This class caches the conversion of common HTTP Header values to and from {@link ByteArrayBuffer} instances. + * The resource "/org/eclipse/jetty/useragents" is checked for a list of common user agents, so that repeated + * creation of strings for these agents can be avoided. + * + * + */ +public class HttpHeaderValues extends BufferCache +{ + public final static String + CLOSE="close", + CHUNKED="chunked", + GZIP="gzip", + IDENTITY="identity", + KEEP_ALIVE="keep-alive", + CONTINUE="100-continue", + PROCESSING="102-processing", + TE="TE", + BYTES="bytes", + NO_CACHE="no-cache", + UPGRADE="Upgrade"; + + public final static int + CLOSE_ORDINAL=1, + CHUNKED_ORDINAL=2, + GZIP_ORDINAL=3, + IDENTITY_ORDINAL=4, + KEEP_ALIVE_ORDINAL=5, + CONTINUE_ORDINAL=6, + PROCESSING_ORDINAL=7, + TE_ORDINAL=8, + BYTES_ORDINAL=9, + NO_CACHE_ORDINAL=10, + UPGRADE_ORDINAL=11; + + public final static HttpHeaderValues CACHE= new HttpHeaderValues(); + + public final static Buffer + CLOSE_BUFFER=CACHE.add(CLOSE,CLOSE_ORDINAL), + CHUNKED_BUFFER=CACHE.add(CHUNKED,CHUNKED_ORDINAL), + GZIP_BUFFER=CACHE.add(GZIP,GZIP_ORDINAL), + IDENTITY_BUFFER=CACHE.add(IDENTITY,IDENTITY_ORDINAL), + KEEP_ALIVE_BUFFER=CACHE.add(KEEP_ALIVE,KEEP_ALIVE_ORDINAL), + CONTINUE_BUFFER=CACHE.add(CONTINUE, CONTINUE_ORDINAL), + PROCESSING_BUFFER=CACHE.add(PROCESSING, PROCESSING_ORDINAL), + TE_BUFFER=CACHE.add(TE,TE_ORDINAL), + BYTES_BUFFER=CACHE.add(BYTES,BYTES_ORDINAL), + NO_CACHE_BUFFER=CACHE.add(NO_CACHE,NO_CACHE_ORDINAL), + UPGRADE_BUFFER=CACHE.add(UPGRADE,UPGRADE_ORDINAL); + + + public static boolean hasKnownValues(int httpHeaderOrdinal) + { + switch(httpHeaderOrdinal) + { + case HttpHeaders.CONNECTION_ORDINAL: + case HttpHeaders.TRANSFER_ENCODING_ORDINAL: + case HttpHeaders.CONTENT_ENCODING_ORDINAL: + return true; + } + return false; + } +}