1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jboss.netty.handler.codec.spdy;
17
18 import java.util.List;
19 import java.util.Map;
20 import java.util.Set;
21
22 import org.jboss.netty.util.internal.StringUtil;
23
24
25
26
27 public class DefaultSpdyHeadersFrame extends DefaultSpdyStreamFrame
28 implements SpdyHeadersFrame {
29
30 private boolean invalid;
31 private boolean truncated;
32 private final SpdyHeaders headers = new DefaultSpdyHeaders();
33
34
35
36
37
38
39 public DefaultSpdyHeadersFrame(int streamId) {
40 super(streamId);
41 }
42
43 public boolean isInvalid() {
44 return invalid;
45 }
46
47 public void setInvalid() {
48 invalid = true;
49 }
50
51 public boolean isTruncated() {
52 return truncated;
53 }
54
55 public void setTruncated() {
56 truncated = true;
57 }
58
59 public SpdyHeaders headers() {
60 return headers;
61 }
62
63 @Deprecated
64 public void addHeader(final String name, final Object value) {
65 headers.add(name, value);
66 }
67
68 @Deprecated
69 public void setHeader(final String name, final Object value) {
70 headers.set(name, value);
71 }
72
73 @Deprecated
74 public void setHeader(final String name, final Iterable<?> values) {
75 headers.set(name, values);
76 }
77
78 @Deprecated
79 public void removeHeader(final String name) {
80 headers.remove(name);
81 }
82
83 @Deprecated
84 public void clearHeaders() {
85 headers.clear();
86 }
87
88 @Deprecated
89 public String getHeader(final String name) {
90 return headers.get(name);
91 }
92
93 @Deprecated
94 public List<String> getHeaders(final String name) {
95 return headers.getAll(name);
96 }
97
98 @Deprecated
99 public List<Map.Entry<String, String>> getHeaders() {
100 return headers.entries();
101 }
102
103 @Deprecated
104 public boolean containsHeader(final String name) {
105 return headers.contains(name);
106 }
107
108 @Deprecated
109 public Set<String> getHeaderNames() {
110 return headers.names();
111 }
112
113 @Override
114 public String toString() {
115 StringBuilder buf = new StringBuilder();
116 buf.append(getClass().getSimpleName());
117 buf.append("(last: ");
118 buf.append(isLast());
119 buf.append(')');
120 buf.append(StringUtil.NEWLINE);
121 buf.append("--> Stream-ID = ");
122 buf.append(getStreamId());
123 buf.append(StringUtil.NEWLINE);
124 buf.append("--> Headers:");
125 buf.append(StringUtil.NEWLINE);
126 appendHeaders(buf);
127
128
129 buf.setLength(buf.length() - StringUtil.NEWLINE.length());
130 return buf.toString();
131 }
132
133 protected void appendHeaders(StringBuilder buf) {
134 for (Map.Entry<String, String> e: headers()) {
135 buf.append(" ");
136 buf.append(e.getKey());
137 buf.append(": ");
138 buf.append(e.getValue());
139 buf.append(StringUtil.NEWLINE);
140 }
141 }
142 }