private String decodePath(String uri) { QueryStringDecoder queryStringDecoder = createDecoder(uri); return queryStringDecoder.rawPath(); }
private CommandRequest parseRequest(FullHttpRequest request) { QueryStringDecoder queryStringDecoder = new QueryStringDecoder(request.uri()); CommandRequest serverRequest = new CommandRequest(); Map<String, List<String>> paramMap = queryStringDecoder.parameters(); // Parse request parameters. if (!paramMap.isEmpty()) { for (Entry<String, List<String>> p : paramMap.entrySet()) { if (!p.getValue().isEmpty()) { serverRequest.addParam(p.getKey(), p.getValue().get(0)); } } } // Parse command name. String target = parseTarget(queryStringDecoder.rawPath()); serverRequest.addMetadata(HttpCommandUtils.REQUEST_TARGET, target); // Parse body. if (request.content().readableBytes() <= 0) { serverRequest.setBody(null); } else { byte[] body = new byte[request.content().readableBytes()]; request.content().getBytes(0, body); serverRequest.setBody(body); } return serverRequest; }