Request.java 文件源码

java
阅读 29 收藏 0 点赞 0 评论 0

项目:sardine 作者:
private Map<String, List<String>> parseQueryParams() {
    // query string
    final QueryStringDecoder query = new QueryStringDecoder(uri());
    final Map<String, List<String>> queryParams = new HashMap<>(query.parameters());

    //TODO multipart/form-data
    if (!"application/x-www-form-urlencoded".equalsIgnoreCase(contentType())) return queryParams;

    // http body
    final HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(request);
    final List<InterfaceHttpData> bodyHttpDatas = decoder.getBodyHttpDatas();
    bodyHttpDatas.stream()
            .parallel()
            .filter(e -> e.getHttpDataType() == InterfaceHttpData.HttpDataType.Attribute)
            .map(e -> (Attribute) e)
            .map(e -> {
                try {
                    return new AbstractMap.SimpleImmutableEntry<String, String>(e.getName(), e.getValue());
                } catch (IOException ex) {
                    throw new RuntimeException(ex);
                }
            })
            .forEach(e -> {
                String key = e.getKey();
                if (!queryParams.containsKey(key)) queryParams.putIfAbsent(key, new ArrayList<>(1));
                queryParams.get(key).add(e.getValue());
            });
    return queryParams;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号