1
2
3
4
5
6
7
8
9
10
11
12
13
14 package org.eclipse.jetty.http;
15
16 import org.eclipse.jetty.io.Buffer;
17 import org.eclipse.jetty.io.BufferCache;
18 import org.eclipse.jetty.io.ByteArrayBuffer;
19
20
21
22
23
24
25
26
27
28 public class HttpHeaderValues extends BufferCache
29 {
30 public final static String
31 CLOSE="close",
32 CHUNKED="chunked",
33 GZIP="gzip",
34 IDENTITY="identity",
35 KEEP_ALIVE="keep-alive",
36 CONTINUE="100-continue",
37 PROCESSING="102-processing",
38 TE="TE",
39 BYTES="bytes",
40 NO_CACHE="no-cache",
41 UPGRADE="Upgrade";
42
43 public final static int
44 CLOSE_ORDINAL=1,
45 CHUNKED_ORDINAL=2,
46 GZIP_ORDINAL=3,
47 IDENTITY_ORDINAL=4,
48 KEEP_ALIVE_ORDINAL=5,
49 CONTINUE_ORDINAL=6,
50 PROCESSING_ORDINAL=7,
51 TE_ORDINAL=8,
52 BYTES_ORDINAL=9,
53 NO_CACHE_ORDINAL=10,
54 UPGRADE_ORDINAL=11;
55
56 public final static HttpHeaderValues CACHE= new HttpHeaderValues();
57
58 public final static Buffer
59 CLOSE_BUFFER=CACHE.add(CLOSE,CLOSE_ORDINAL),
60 CHUNKED_BUFFER=CACHE.add(CHUNKED,CHUNKED_ORDINAL),
61 GZIP_BUFFER=CACHE.add(GZIP,GZIP_ORDINAL),
62 IDENTITY_BUFFER=CACHE.add(IDENTITY,IDENTITY_ORDINAL),
63 KEEP_ALIVE_BUFFER=CACHE.add(KEEP_ALIVE,KEEP_ALIVE_ORDINAL),
64 CONTINUE_BUFFER=CACHE.add(CONTINUE, CONTINUE_ORDINAL),
65 PROCESSING_BUFFER=CACHE.add(PROCESSING, PROCESSING_ORDINAL),
66 TE_BUFFER=CACHE.add(TE,TE_ORDINAL),
67 BYTES_BUFFER=CACHE.add(BYTES,BYTES_ORDINAL),
68 NO_CACHE_BUFFER=CACHE.add(NO_CACHE,NO_CACHE_ORDINAL),
69 UPGRADE_BUFFER=CACHE.add(UPGRADE,UPGRADE_ORDINAL);
70
71
72 public static boolean hasKnownValues(int httpHeaderOrdinal)
73 {
74 switch(httpHeaderOrdinal)
75 {
76 case HttpHeaders.CONNECTION_ORDINAL:
77 case HttpHeaders.TRANSFER_ENCODING_ORDINAL:
78 case HttpHeaders.CONTENT_ENCODING_ORDINAL:
79 return true;
80 }
81 return false;
82 }
83 }