io.quarkus.vertx.http.runtime.BodyConfig Maven / Gradle / Ivy
package io.quarkus.vertx.http.runtime;
import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;
/**
* Request body related settings
*/
@ConfigGroup
public class BodyConfig {
/**
* Whether the files sent using {@code multipart/form-data} will be stored locally.
*
* If {@code true}, they will be stored in {@code quarkus.http.body-handler.uploads-directory} and will be made
* available via {@code io.vertx.ext.web.RoutingContext.fileUploads()}. Otherwise, the files sent using
* {@code multipart/form-data} will not be stored locally, and {@code io.vertx.ext.web.RoutingContext.fileUploads()}
* will always return an empty collection. Note that even with this option being set to {@code false}, the
* {@code multipart/form-data} requests will be accepted.
*/
@ConfigItem(defaultValue = "true")
public boolean handleFileUploads;
/**
* The directory where the files sent using {@code multipart/form-data} should be stored.
*
* Either an absolute path or a path relative to the current directory of the application process.
*/
@ConfigItem(defaultValue = "${java.io.tmpdir}/uploads")
public String uploadsDirectory;
/**
* Whether the form attributes should be added to the request parameters.
*
* If {@code true}, the form attributes will be added to the request parameters; otherwise the form parameters will
* not be added to the request parameters
*/
@ConfigItem(defaultValue = "true")
public boolean mergeFormAttributes;
/**
* Whether the uploaded files should be removed after serving the request.
*
* If {@code true} the uploaded files stored in {@code quarkus.http.body-handler.uploads-directory} will be removed
* after handling the request. Otherwise, the files will be left there forever.
*/
@ConfigItem(defaultValue = "true")
public boolean deleteUploadedFilesOnEnd;
/**
* Whether the body buffer should pre-allocated based on the {@code Content-Length} header value.
*
* If {@code true} the body buffer is pre-allocated according to the size read from the {@code Content-Length}
* header. Otherwise, the body buffer is pre-allocated to 1KB, and is resized dynamically
*/
@ConfigItem
public boolean preallocateBodyBuffer;
/**
* HTTP multipart request related settings
*/
@ConfigItem
public MultiPartConfig multipart;
}