69
70 enum State { INITIAL,
71 STATUS_OR_REQUEST_LINE,
72 STATUS_OR_REQUEST_LINE_FOUND_CR,
73 STATUS_OR_REQUEST_LINE_FOUND_LF,
74 STATUS_OR_REQUEST_LINE_END,
75 STATUS_OR_REQUEST_LINE_END_CR,
76 STATUS_OR_REQUEST_LINE_END_LF,
77 HEADER,
78 HEADER_FOUND_CR,
79 HEADER_FOUND_LF,
80 HEADER_FOUND_CR_LF,
81 HEADER_FOUND_CR_LF_CR,
82 FINISHED }
83
84 private HttpHeaderParser.State state = HttpHeaderParser.State.INITIAL;
85
86 public HttpHeaderParser() {
87 }
88
89
90 public HttpHeaderParser(InputStream is) throws IOException, ProtocolException {
91 parse(is);
92 }
93
94 public Map<String, List<String>> getHeaderMap() {
95 return headerMap;
96 }
97
98 public List<String> getHeaderValue(String key) {
99 if(headerMap.containsKey(key.toLowerCase(Locale.ROOT))) {
100 return headerMap.get(key.toLowerCase(Locale.ROOT));
101 }
102 return null;
103 }
104 public List<String> getValue(int id) {
105 String key = keyList.get(id);
106 return headerMap.get(key);
107 }
108
109 public String getRequestDetails() {
|
69
70 enum State { INITIAL,
71 STATUS_OR_REQUEST_LINE,
72 STATUS_OR_REQUEST_LINE_FOUND_CR,
73 STATUS_OR_REQUEST_LINE_FOUND_LF,
74 STATUS_OR_REQUEST_LINE_END,
75 STATUS_OR_REQUEST_LINE_END_CR,
76 STATUS_OR_REQUEST_LINE_END_LF,
77 HEADER,
78 HEADER_FOUND_CR,
79 HEADER_FOUND_LF,
80 HEADER_FOUND_CR_LF,
81 HEADER_FOUND_CR_LF_CR,
82 FINISHED }
83
84 private HttpHeaderParser.State state = HttpHeaderParser.State.INITIAL;
85
86 public HttpHeaderParser() {
87 }
88
89 @SuppressWarnings("initialization")
90 public HttpHeaderParser(InputStream is) throws IOException, ProtocolException {
91 parse(is);
92 }
93
94 public Map<String, List<String>> getHeaderMap() {
95 return headerMap;
96 }
97
98 public List<String> getHeaderValue(String key) {
99 if(headerMap.containsKey(key.toLowerCase(Locale.ROOT))) {
100 return headerMap.get(key.toLowerCase(Locale.ROOT));
101 }
102 return null;
103 }
104 public List<String> getValue(int id) {
105 String key = keyList.get(id);
106 return headerMap.get(key);
107 }
108
109 public String getRequestDetails() {
|