handleQueryParameters(buffer, currentState, builder); if (!buffer.hasRemaining()) { return;
if (next == '?') { state.state = ParseState.QUERY_PARAMETERS; handleQueryParameters(buffer, state, exchange); } else { state.state = ParseState.VERSION;
private void beginQueryParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange, StringBuilder stringBuilder, int parseState, int canonicalPathStart, boolean urlDecodeRequired) throws BadRequestException { final String path = stringBuilder.toString(); if (parseState == SECOND_SLASH) { exchange.setRequestPath("/"); exchange.setRelativePath("/"); exchange.setRequestURI(path); } else if (parseState < HOST_DONE) { String decodedPath = decode(path, urlDecodeRequired, state, allowEncodedSlash, false); exchange.setRequestPath(decodedPath); exchange.setRelativePath(decodedPath); exchange.setRequestURI(path, false); } else { handleFullUrl(state, exchange, canonicalPathStart, urlDecodeRequired, path); } state.state = ParseState.QUERY_PARAMETERS; state.stringBuilder.setLength(0); state.parseState = 0; state.pos = 0; state.urlDecodeRequired = false; handleQueryParameters(buffer, state, exchange); }
handleQueryParameters(buffer, currentState, builder); if (!buffer.hasRemaining()) { return;
handleQueryParameters(buffer, currentState, builder); if (!buffer.hasRemaining()) { return;
if (next == '?') { state.state = ParseState.QUERY_PARAMETERS; handleQueryParameters(buffer, state, exchange); } else { state.state = ParseState.VERSION;
private void beginQueryParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange, StringBuilder stringBuilder, int parseState, int canonicalPathStart, boolean urlDecodeRequired) throws BadRequestException { final String path = stringBuilder.toString(); if (parseState == SECOND_SLASH) { exchange.setRequestPath("/"); exchange.setRelativePath("/"); exchange.setRequestURI(path); } else if (parseState < HOST_DONE) { String decodedPath = decode(path, urlDecodeRequired, state, allowEncodedSlash, false); exchange.setRequestPath(decodedPath); exchange.setRelativePath(decodedPath); exchange.setRequestURI(path, false); } else { handleFullUrl(state, exchange, canonicalPathStart, urlDecodeRequired, path); } state.state = ParseState.QUERY_PARAMETERS; state.stringBuilder.setLength(0); state.parseState = 0; state.pos = 0; state.urlDecodeRequired = false; handleQueryParameters(buffer, state, exchange); }
if (next == '?') { state.state = ParseState.QUERY_PARAMETERS; handleQueryParameters(buffer, state, exchange); } else { state.state = ParseState.VERSION;
private void beginQueryParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange, StringBuilder stringBuilder, int parseState, int canonicalPathStart, boolean urlDecodeRequired) throws BadRequestException { final String path = stringBuilder.toString(); if (parseState == SECOND_SLASH) { exchange.setRequestPath("/"); exchange.setRelativePath("/"); exchange.setRequestURI(path); } else if (parseState < HOST_DONE) { String decodedPath = decode(path, urlDecodeRequired, state, allowEncodedSlash, false); exchange.setRequestPath(decodedPath); exchange.setRelativePath(decodedPath); exchange.setRequestURI(path, false); } else { handleFullUrl(state, exchange, canonicalPathStart, urlDecodeRequired, path); } state.state = ParseState.QUERY_PARAMETERS; state.stringBuilder.setLength(0); state.parseState = 0; state.pos = 0; state.urlDecodeRequired = false; handleQueryParameters(buffer, state, exchange); }