Class DefaultHttpDataFactory
- java.lang.Object
-
- io.netty.handler.codec.http.multipart.DefaultHttpDataFactory
-
- All Implemented Interfaces:
HttpDataFactory
public class DefaultHttpDataFactory extends java.lang.Object implements HttpDataFactory
Default factory givingAttribute
andFileUpload
according to constructor.According to the constructor,
Attribute
andFileUpload
can be:- MemoryAttribute, DiskAttribute or MixedAttribute
- MemoryFileUpload, DiskFileUpload or MixedFileUpload
for (InterfaceHttpData httpData: decoder.getBodyHttpDatas()) { httpData.release(); factory.removeHttpDataFromClean(request, httpData); } factory.cleanAllHttpData(); decoder.destroy();
-
-
Constructor Summary
Constructors Constructor Description DefaultHttpDataFactory()
HttpData will be in memory if less than default size (16KB).DefaultHttpDataFactory(boolean useDisk)
HttpData will be always on Disk if useDisk is True, else always in Memory if FalseDefaultHttpDataFactory(boolean useDisk, java.nio.charset.Charset charset)
DefaultHttpDataFactory(long minSize)
HttpData will be on Disk if the size of the file is greater than minSize, else it will be in memory.DefaultHttpDataFactory(long minSize, java.nio.charset.Charset charset)
DefaultHttpDataFactory(java.nio.charset.Charset charset)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanAllHttpData()
Remove all InterfaceHttpData from virtual File storage from clean list for all requestsvoid
cleanAllHttpDatas()
void
cleanRequestHttpData(HttpRequest request)
Remove all InterfaceHttpData from virtual File storage from clean list for the requestvoid
cleanRequestHttpDatas(HttpRequest request)
Attribute
createAttribute(HttpRequest request, java.lang.String name)
Attribute
createAttribute(HttpRequest request, java.lang.String name, long definedSize)
Attribute
createAttribute(HttpRequest request, java.lang.String name, java.lang.String value)
FileUpload
createFileUpload(HttpRequest request, java.lang.String name, java.lang.String filename, java.lang.String contentType, java.lang.String contentTransferEncoding, java.nio.charset.Charset charset, long size)
void
removeHttpDataFromClean(HttpRequest request, InterfaceHttpData data)
Remove the given InterfaceHttpData from clean list (will not delete the file, except if the file is still a temporary one as setup at construction)void
setBaseDir(java.lang.String baseDir)
Override globalDiskAttribute.baseDirectory
andDiskFileUpload.baseDirectory
values.void
setDeleteOnExit(boolean deleteOnExit)
Override globalDiskAttribute.deleteOnExitTemporaryFile
andDiskFileUpload.deleteOnExitTemporaryFile
values.void
setMaxLimit(long maxSize)
To set a max size limitation on fields.
-
-
-
Field Detail
-
MINSIZE
public static final long MINSIZE
Proposed default MINSIZE as 16 KB.- See Also:
- Constant Field Values
-
MAXSIZE
public static final long MAXSIZE
Proposed default MAXSIZE = -1 as UNLIMITED- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultHttpDataFactory
public DefaultHttpDataFactory()
HttpData will be in memory if less than default size (16KB). The type will be Mixed.
-
DefaultHttpDataFactory
public DefaultHttpDataFactory(java.nio.charset.Charset charset)
-
DefaultHttpDataFactory
public DefaultHttpDataFactory(boolean useDisk)
HttpData will be always on Disk if useDisk is True, else always in Memory if False
-
DefaultHttpDataFactory
public DefaultHttpDataFactory(boolean useDisk, java.nio.charset.Charset charset)
-
DefaultHttpDataFactory
public DefaultHttpDataFactory(long minSize)
HttpData will be on Disk if the size of the file is greater than minSize, else it will be in memory. The type will be Mixed.
-
DefaultHttpDataFactory
public DefaultHttpDataFactory(long minSize, java.nio.charset.Charset charset)
-
-
Method Detail
-
setBaseDir
public void setBaseDir(java.lang.String baseDir)
Override globalDiskAttribute.baseDirectory
andDiskFileUpload.baseDirectory
values.- Parameters:
baseDir
- directory path where to store disk attributes and file uploads.
-
setDeleteOnExit
public void setDeleteOnExit(boolean deleteOnExit)
Override globalDiskAttribute.deleteOnExitTemporaryFile
andDiskFileUpload.deleteOnExitTemporaryFile
values.- Parameters:
deleteOnExit
- true if temporary files should be deleted with the JVM, false otherwise.
-
setMaxLimit
public void setMaxLimit(long maxSize)
Description copied from interface:HttpDataFactory
To set a max size limitation on fields. Exceeding it will generate an ErrorDataDecoderException. A value of -1 means no limitation (default).- Specified by:
setMaxLimit
in interfaceHttpDataFactory
-
createAttribute
public Attribute createAttribute(HttpRequest request, java.lang.String name)
- Specified by:
createAttribute
in interfaceHttpDataFactory
- Parameters:
request
- associated request- Returns:
- a new Attribute with no value
-
createAttribute
public Attribute createAttribute(HttpRequest request, java.lang.String name, long definedSize)
- Specified by:
createAttribute
in interfaceHttpDataFactory
- Parameters:
request
- associated requestname
- name of the attributedefinedSize
- defined size from request for this attribute- Returns:
- a new Attribute with no value
-
createAttribute
public Attribute createAttribute(HttpRequest request, java.lang.String name, java.lang.String value)
- Specified by:
createAttribute
in interfaceHttpDataFactory
- Parameters:
request
- associated request- Returns:
- a new Attribute
-
createFileUpload
public FileUpload createFileUpload(HttpRequest request, java.lang.String name, java.lang.String filename, java.lang.String contentType, java.lang.String contentTransferEncoding, java.nio.charset.Charset charset, long size)
- Specified by:
createFileUpload
in interfaceHttpDataFactory
- Parameters:
request
- associated requestsize
- the size of the Uploaded file- Returns:
- a new FileUpload
-
removeHttpDataFromClean
public void removeHttpDataFromClean(HttpRequest request, InterfaceHttpData data)
Description copied from interface:HttpDataFactory
Remove the given InterfaceHttpData from clean list (will not delete the file, except if the file is still a temporary one as setup at construction)- Specified by:
removeHttpDataFromClean
in interfaceHttpDataFactory
- Parameters:
request
- associated request
-
cleanRequestHttpData
public void cleanRequestHttpData(HttpRequest request)
Description copied from interface:HttpDataFactory
Remove all InterfaceHttpData from virtual File storage from clean list for the request- Specified by:
cleanRequestHttpData
in interfaceHttpDataFactory
- Parameters:
request
- associated request
-
cleanAllHttpData
public void cleanAllHttpData()
Description copied from interface:HttpDataFactory
Remove all InterfaceHttpData from virtual File storage from clean list for all requests- Specified by:
cleanAllHttpData
in interfaceHttpDataFactory
-
cleanRequestHttpDatas
public void cleanRequestHttpDatas(HttpRequest request)
- Specified by:
cleanRequestHttpDatas
in interfaceHttpDataFactory
-
cleanAllHttpDatas
public void cleanAllHttpDatas()
- Specified by:
cleanAllHttpDatas
in interfaceHttpDataFactory
-
-