in impl/src/main/java/org/apache/peeco/impl/PeecoChannelHandler.java [175:209]
protected void parseBodyParams(HttpRequest nettyRequest, Request request)
{
if (nettyRequest.method().equals(HttpMethod.POST))
{
HttpPostRequestDecoder decoder = null;
try
{
decoder = new HttpPostRequestDecoder(factory, nettyRequest);
for (InterfaceHttpData data : decoder.getBodyHttpDatas())
{
if (data.getHttpDataType() == InterfaceHttpData.HttpDataType.Attribute)
{
Attribute attr = (Attribute) data;
List<String> values = request.bodyParameters().computeIfAbsent(data.getName(), k -> new ArrayList<>());
try
{
values.add(attr.getValue());
}
catch (IOException ex)
{
throw new RuntimeException("Failed to parse attribute values from Netty Request body to " + Request.class.toString());
}
}
}
}
finally
{
if (decoder != null)
{
decoder.destroy();
}
}
}
}