public static HttpQueryParams parse()

in zuul-core/src/main/java/com/netflix/zuul/message/http/HttpQueryParams.java [56:101]


    public static HttpQueryParams parse(String queryString) {
        HttpQueryParams queryParams = new HttpQueryParams();
        if (queryString == null) {
            return queryParams;
        }

        StringTokenizer st = new StringTokenizer(queryString, "&");
        int i;
        while (st.hasMoreTokens()) {
            String s = st.nextToken();
            i = s.indexOf("=");
            // key-value query param
            if (i > 0) {
                String name = s.substring(0, i);
                String value = s.substring(i + 1);

                try {
                    name = URLDecoder.decode(name, StandardCharsets.UTF_8);
                    value = URLDecoder.decode(value, StandardCharsets.UTF_8);
                } catch (Exception e) {
                    // do nothing
                }

                queryParams.add(name, value);

                // respect trailing equals for key-only params
                if (s.endsWith("=") && value.isEmpty()) {
                    queryParams.setTrailingEquals(name, true);
                }
            }
            // key only
            else if (!s.isEmpty()) {
                String name = s;

                try {
                    name = URLDecoder.decode(name, StandardCharsets.UTF_8);
                } catch (Exception e) {
                    // do nothing
                }

                queryParams.add(name, "");
            }
        }

        return queryParams;
    }