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;
}
Request.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:sardine
作者:
评论列表
文章目录