static QueryParams fromQueryString(@Nullable String queryString, int maxParams) {

        // Do not treat a semicolon (;) as a separator by default, as recommended in:
        //
        //   https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#url-encoded-form-data
        //
        // > Let strings be the result of strictly splitting the string payload on
        // > U+0026 AMPERSAND characters (&).

        return fromQueryString(queryString, maxParams, /* semicolonAsSeparator */ false);
    }
Decodes the specified query string into a {@link QueryParams}, as defined in
<a href="https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#url-encoded-form-data">4.10.22.6,
HTML5 W3C Recommendation</a>.

@param queryString the query string without leading question mark ({@code '?'}).
@param maxParams   the max number of parameters to decode. If the {@code queryString} contains
                   more parameters than this value, the extra parameters will not be decoded.
@return the decoded {@link QueryParams}. An empty {@link QueryParams} is returned
        if {@code queryString} is {@code null}.
core/src/main/java/com/linecorp/armeria/common/QueryParams.java