X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fjetty%2Forg%2Feclipse%2Fjetty%2Fhttp%2FHttpHeaderValue.java;fp=lib%2Fjetty%2Forg%2Feclipse%2Fjetty%2Fhttp%2FHttpHeaderValue.java;h=8338a3221589a6afb6e6fe1b4c603ba38df4d783;hb=73ef54a38e3930a1a789cdc6b5fa23cdd4c9d086;hp=0000000000000000000000000000000000000000;hpb=515007c7c1351045420669d65b59c08fa46850f2;p=gigi.git diff --git a/lib/jetty/org/eclipse/jetty/http/HttpHeaderValue.java b/lib/jetty/org/eclipse/jetty/http/HttpHeaderValue.java new file mode 100644 index 00000000..8338a322 --- /dev/null +++ b/lib/jetty/org/eclipse/jetty/http/HttpHeaderValue.java @@ -0,0 +1,104 @@ +// +// ======================================================================== +// 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 java.nio.ByteBuffer; +import java.util.EnumSet; + +import org.eclipse.jetty.util.ArrayTrie; +import org.eclipse.jetty.util.BufferUtil; +import org.eclipse.jetty.util.Trie; + + +/** + * + */ +public enum HttpHeaderValue +{ + 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"), + UNKNOWN("::UNKNOWN::"); + + /* ------------------------------------------------------------ */ + public final static Trie CACHE= new ArrayTrie(); + static + { + for (HttpHeaderValue value : HttpHeaderValue.values()) + if (value!=UNKNOWN) + CACHE.put(value.toString(),value); + } + + private final String _string; + private final ByteBuffer _buffer; + + /* ------------------------------------------------------------ */ + HttpHeaderValue(String s) + { + _string=s; + _buffer=BufferUtil.toBuffer(s); + } + + /* ------------------------------------------------------------ */ + public ByteBuffer toBuffer() + { + return _buffer.asReadOnlyBuffer(); + } + + /* ------------------------------------------------------------ */ + public boolean is(String s) + { + return _string.equalsIgnoreCase(s); + } + + /* ------------------------------------------------------------ */ + public String asString() + { + return _string; + } + + /* ------------------------------------------------------------ */ + @Override + public String toString() + { + return _string; + } + + /* ------------------------------------------------------------ */ + private static EnumSet __known = + EnumSet.of(HttpHeader.CONNECTION, + HttpHeader.TRANSFER_ENCODING, + HttpHeader.CONTENT_ENCODING); + + /* ------------------------------------------------------------ */ + public static boolean hasKnownValues(HttpHeader header) + { + if (header==null) + return false; + return __known.contains(header); + } +}