Package io.micronaut.http.server.netty
Interface HttpContentProcessor
- All Superinterfaces:
io.micronaut.core.util.Toggleable
- All Known Implementing Classes:
AbstractHttpContentProcessor,DefaultHttpContentProcessor,FormDataHttpContentProcessor,JsonContentProcessor
public interface HttpContentProcessor
extends io.micronaut.core.util.Toggleable
This class represents the first step of the HTTP body parsing pipeline. It transforms
Processors are stateful. They can receive repeated calls to
ByteBufHolder instances that come from a
StreamedHttpRequest into parsed objects, e.g. json nodes
or form data fragments.Processors are stateful. They can receive repeated calls to
add(io.netty.buffer.ByteBufHolder, java.util.Collection<java.lang.Object>) with more data,
followed by a call to complete(java.util.Collection<java.lang.Object>) to finish up. Both of these methods accept a
Collection out parameter that is populated with the processed items.- Since:
- 1.0
-
Method Summary
Modifier and TypeMethodDescriptionvoidadd(io.netty.buffer.ByteBufHolder data, Collection<Object> out) Process more data.default voidcancel()Cancel processing, clean up any data.default voidcomplete(Collection<Object> out) Finish processing data.default HttpContentProcessorresultType(io.micronaut.core.type.Argument<?> type) Set the type of the values returned by this processor.Methods inherited from interface io.micronaut.core.util.Toggleable
isEnabled
-
Method Details
-
add
Process more data.- Parameters:
data- The input dataout- The collection to add output items to- Throws:
Throwable
-
complete
Finish processing data.- Parameters:
out- The collection to add remaining output items to- Throws:
Throwable
-
cancel
Cancel processing, clean up any data. After this, there should be no more calls toadd(io.netty.buffer.ByteBufHolder, java.util.Collection<java.lang.Object>)andcomplete(java.util.Collection<java.lang.Object>).- Throws:
Throwable
-
resultType
Set the type of the values returned by this processor. Most processors do not respect this setting, but e.g. theJsonContentProcessordoes.- Parameters:
type- The type produced by this processor- Returns:
- This processor, for chaining
-