equal
deleted
inserted
replaced
471 String requestLine = getRequestLine(request.headers); |
471 String requestLine = getRequestLine(request.headers); |
472 String[] tokens = requestLine.split(" "); |
472 String[] tokens = requestLine.split(" "); |
473 if (!tokens[2].equals("HTTP/1.1")) { |
473 if (!tokens[2].equals("HTTP/1.1")) { |
474 throw new IOException("bad request line"); |
474 throw new IOException("bad request line"); |
475 } |
475 } |
476 URI uri = null; |
476 URI uri; |
477 try { |
477 try { |
478 uri = new URI(tokens[1]); |
478 uri = new URI(tokens[1]); |
479 } catch (URISyntaxException e) { |
479 } catch (URISyntaxException e) { |
480 throw new IOException(e); |
480 throw new IOException(e); |
481 } |
481 } |
485 } |
485 } |
486 |
486 |
487 headers.setHeader(":method", tokens[0]); |
487 headers.setHeader(":method", tokens[0]); |
488 headers.setHeader(":scheme", "http"); // always in this case |
488 headers.setHeader(":scheme", "http"); // always in this case |
489 headers.setHeader(":authority", host); |
489 headers.setHeader(":authority", host); |
490 headers.setHeader(":path", uri.getPath()); |
490 String path = uri.getPath(); |
|
491 if (uri.getQuery() != null) |
|
492 path = path + "?" + uri.getQuery(); |
|
493 headers.setHeader(":path", path); |
|
494 |
491 Queue q = new Queue(sentinel); |
495 Queue q = new Queue(sentinel); |
492 byte[] body = getRequestBody(request); |
496 byte[] body = getRequestBody(request); |
493 addHeaders(getHeaders(request.headers), headers); |
497 addHeaders(getHeaders(request.headers), headers); |
494 headers.setHeader("Content-length", Integer.toString(body.length)); |
498 headers.setHeader("Content-length", Integer.toString(body.length)); |
495 |
499 |