DefaultHttpDataFactory Class — netty Architecture
Architecture documentation for the DefaultHttpDataFactory class in DefaultHttpDataFactory.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 98f78988_c19a_3e7e_7294_362a9946ed47["DefaultHttpDataFactory"] aa56a351_d7c1_7d8b_46c0_3e5633d04666["DefaultHttpDataFactory.java"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|defined in| aa56a351_d7c1_7d8b_46c0_3e5633d04666 24d234cf_e872_1981_40ae_a7f8ee04a0b2["DefaultHttpDataFactory()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 24d234cf_e872_1981_40ae_a7f8ee04a0b2 da354527_55bc_bb03_16a6_0d8c3b70b4f5["setBaseDir()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| da354527_55bc_bb03_16a6_0d8c3b70b4f5 ac4ba668_8b77_a2d4_5991_32e83b248333["setDeleteOnExit()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| ac4ba668_8b77_a2d4_5991_32e83b248333 8940627d_1edf_d6b2_29d3_034e0b57a709["setMaxLimit()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 8940627d_1edf_d6b2_29d3_034e0b57a709 24a67ac8_3ea8_2355_22c5_9ce08e360e24["getList()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 24a67ac8_3ea8_2355_22c5_9ce08e360e24 b562ffa7_5b17_90de_bb17_f1a0c9c004bd["Attribute()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| b562ffa7_5b17_90de_bb17_f1a0c9c004bd 1f8c5b60_fd4b_1b00_24ee_903580c91e42["checkHttpDataSize()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 1f8c5b60_fd4b_1b00_24ee_903580c91e42 5c96fe15_7385_5768_d7a7_8b8b6d75eeea["FileUpload()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 5c96fe15_7385_5768_d7a7_8b8b6d75eeea ae517864_1813_847f_a562_24bd2141cd68["removeHttpDataFromClean()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| ae517864_1813_847f_a562_24bd2141cd68 7e8d53fc_8fca_ffff_f43a_bad21420c958["cleanRequestHttpData()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 7e8d53fc_8fca_ffff_f43a_bad21420c958 a49d62a4_32bf_ffb1_6888_211a01d7fa00["cleanAllHttpData()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| a49d62a4_32bf_ffb1_6888_211a01d7fa00 47159377_70ea_7f3a_aaff_56cb86637d8e["cleanRequestHttpDatas()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| 47159377_70ea_7f3a_aaff_56cb86637d8e e977c653_ca76_7ff6_c52e_9ba9560b54cd["cleanAllHttpDatas()"] 98f78988_c19a_3e7e_7294_362a9946ed47 -->|method| e977c653_ca76_7ff6_c52e_9ba9560b54cd
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java lines 50–348
public class DefaultHttpDataFactory implements HttpDataFactory {
/**
* Proposed default MINSIZE as 16 KB.
*/
public static final long MINSIZE = 0x4000;
/**
* Proposed default MAXSIZE = -1 as UNLIMITED
*/
public static final long MAXSIZE = -1;
private final boolean useDisk;
private final boolean checkSize;
private long minSize;
private long maxSize = MAXSIZE;
private Charset charset = HttpConstants.DEFAULT_CHARSET;
private String baseDir;
private boolean deleteOnExit; // false is a good default cause true leaks
/**
* Keep all {@link HttpData}s until cleaning methods are called.
* We need to use {@link IdentityHashMap} because different requests may be equal.
* See {@link DefaultHttpRequest#hashCode} and {@link DefaultHttpRequest#equals}.
* Similarly, when removing data items, we need to check their identities because
* different data items may be equal.
*/
private final Map<HttpRequest, List<HttpData>> requestFileDeleteMap =
Collections.synchronizedMap(new IdentityHashMap<HttpRequest, List<HttpData>>());
/**
* HttpData will be in memory if less than default size (16KB).
* The type will be Mixed.
*/
public DefaultHttpDataFactory() {
useDisk = false;
checkSize = true;
minSize = MINSIZE;
}
public DefaultHttpDataFactory(Charset charset) {
this();
this.charset = charset;
}
/**
* HttpData will be always on Disk if useDisk is True, else always in Memory if False
*/
public DefaultHttpDataFactory(boolean useDisk) {
this.useDisk = useDisk;
checkSize = false;
}
public DefaultHttpDataFactory(boolean useDisk, Charset charset) {
this(useDisk);
this.charset = charset;
}
/**
* 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.
*/
public DefaultHttpDataFactory(long minSize) {
useDisk = false;
checkSize = true;
this.minSize = minSize;
}
public DefaultHttpDataFactory(long minSize, Charset charset) {
this(minSize);
this.charset = charset;
}
/**
* Override global {@link DiskAttribute#baseDirectory} and {@link DiskFileUpload#baseDirectory} values.
*
* @param baseDir directory path where to store disk attributes and file uploads.
Defined In
Source
Frequently Asked Questions
What is the DefaultHttpDataFactory class?
DefaultHttpDataFactory is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java.
Where is DefaultHttpDataFactory defined?
DefaultHttpDataFactory is defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java at line 50.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free