Package com.ramforth.webserver.http

Examples of com.ramforth.webserver.http.NameValueMap


public class ParameterParser {

    private static final Logger LOGGER = LoggerFactory.getLogger(ParameterParser.class);

    public NameValueMap parse(String parameterString, boolean urlEncoded) {
        NameValueMap result = new NameValueMap();

        if (parameterString == null) {
            return result;
        }

        int queryStringLength = parameterString.length();
        for (int i = 0; i < queryStringLength; i++) {
            int startOfCurrentParameter = i;
            int indexOfEqualsSign = -1;
            while (i < queryStringLength) {
                int c = parameterString.codePointAt(i);
                if (c == '=') {
                    if (indexOfEqualsSign < 0) {
                        indexOfEqualsSign = i;
                    }
                } else {
                    if (c == '&') {
                        break;
                    }
                }
                i++;
            }

            String name = null;
            String value;
            if (indexOfEqualsSign >= 0) {
                name = parameterString.substring(startOfCurrentParameter, indexOfEqualsSign);
                value = parameterString.substring(indexOfEqualsSign + 1, i);
            } else {
                value = parameterString.substring(startOfCurrentParameter, i);
            }

            if (urlEncoded) {
                try {
                    result.add(URLDecoder.decode(name, "UTF-8"), URLDecoder.decode(value, "UTF-8"));
                }
                catch (UnsupportedEncodingException ex) {
                    LOGGER.warn("Encoding UTF-8 not supported.", ex);
                }
            } else {
                result.add(name, value);
            }

            if (i == queryStringLength - 1 && parameterString.codePointAt(i) == '&') {
                //base.Add(null, string.Empty);
            }
View Full Code Here


        HttpRequestByteArrayBodyData byteArrayBodyData = (HttpRequestByteArrayBodyData) byteArrayBodyParser.parse(inputStream);

        byte[] data = byteArrayBodyData.getData();
        String parameterString = new String(data, charset);
        NameValueMap formData = parameterParser.parse(parameterString, true);
        return new HttpRequestFormBodyData(formData);
    }
View Full Code Here

TOP

Related Classes of com.ramforth.webserver.http.NameValueMap

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.