private ListMultimap<String, String> parseParams(String query) { LinkedListMultimap<String, String> result = LinkedListMultimap.create(); if (query != null) { Iterable<String> pairs = Splitter.on("&") .omitEmptyStrings() .split(query); for (String pair : pairs) { String[] parts = pair.split("=", 2); result.put(percentDecode(parts[0]), percentDecode(parts[1])); } } return result; }
private HttpUriBuilder(URI previous) { scheme = previous.getScheme(); host = previous.getHost(); port = previous.getPort(); path = percentDecode(previous.getRawPath()); params.putAll(parseParams(previous.getRawQuery())); }