|
5 | 5 | import java.util.*; |
6 | 6 |
|
7 | 7 | import http_parser.HTTPMethod; |
| 8 | +import http_parser.HTTPParserUrl; |
8 | 9 | import http_parser.ParserType; |
9 | 10 | import http_parser.lolevel.TestLoaderNG.Header; |
10 | 11 | import http_parser.lolevel.TestLoaderNG.LastHeader; |
@@ -50,6 +51,7 @@ public class Message { |
50 | 51 |
|
51 | 52 | public String toString() { |
52 | 53 | StringBuilder b = new StringBuilder(); |
| 54 | + b.append("NAME: "); b.append(name);b.append("\n"); |
53 | 55 | b.append("type: "); b.append(type);b.append("\n"); |
54 | 56 | b.append("method: "); b.append(method);b.append("\n"); |
55 | 57 | b.append("status_code: "); b.append(status_code);b.append("\n"); |
@@ -168,10 +170,7 @@ void parse(HTTPParser p, ParserSettings s, ByteBuffer b) { |
168 | 170 |
|
169 | 171 | TestSettings settings() { |
170 | 172 | final TestSettings s = new TestSettings(); |
171 | | - s.on_path = getCB(request_path, "path", s); |
172 | | - s.on_query_string = getCB(query_string, "query_string", s); |
173 | 173 | s.on_url = getCB(request_url, "url", s); |
174 | | - s.on_fragment = getCB(fragment, "fragment", s); |
175 | 174 | s.on_message_begin = new HTTPCallback() { |
176 | 175 | public int cb (HTTPParser p) { |
177 | 176 | message_begin_called = true; |
@@ -219,10 +218,17 @@ public int cb (HTTPParser p) { |
219 | 218 | String parsed_frag = null; |
220 | 219 |
|
221 | 220 | try { |
222 | | - parsed_path = new String(s.map.get("path").toArray(), "UTF8"); |
223 | | - parsed_query = new String(s.map.get("query_string").toArray(), "UTF8"); |
224 | 221 | parsed_url = new String(s.map.get("url").toArray(), "UTF8"); |
225 | | - parsed_frag = new String(s.map.get("fragment").toArray(), "UTF8"); |
| 222 | + |
| 223 | + HTTPParserUrl u = new HTTPParserUrl(); |
| 224 | + HTTPParser pp = new HTTPParser(); |
| 225 | + ByteBuffer data = Util.buffer(parsed_url); |
| 226 | + pp.parse_url(data,false, u); |
| 227 | + |
| 228 | + parsed_path = u.getFieldValue(HTTPParser.UrlFields.UF_PATH, data); |
| 229 | + parsed_query = u.getFieldValue(HTTPParser.UrlFields.UF_QUERY, data); |
| 230 | + parsed_frag = u.getFieldValue(HTTPParser.UrlFields.UF_FRAGMENT, data); |
| 231 | + |
226 | 232 | } catch (java.io.UnsupportedEncodingException uee) { |
227 | 233 | throw new RuntimeException(uee); |
228 | 234 | } |
|
0 commit comments