La valeur maximale du formulaire dans Jetty est de 200 Ko par défaut. Spark utilise Jetty, donc c'est similaire à ça.
Il semble qu'il existe différentes méthodes de réglage pour Jetty seul, mais c'est assez ennuyeux pour Spark.
Je vais omettre les détails, mais la méthode est la suivante.
python
public class Main {
public static void main(String[] args) {
EmbeddedServers.add(EmbeddedServers.Identifiers.JETTY, new EmbeddedJettyFactory(new MyJettyServerFactory()));
get("/", () -> "Hello Spark!");
}
}
class MyJettyServerFactory implements JettyServerFactory {
/**
* Creates a Jetty server.
*
* @param maxThreads maxThreads
* @param minThreads minThreads
* @param threadTimeoutMillis threadTimeoutMillis
* @return a new jetty server instance
*/
@Override
public Server create(int maxThreads, int minThreads, int threadTimeoutMillis) {
Server server;
if (maxThreads > 0) {
int max = maxThreads;
int min = (minThreads > 0) ? minThreads : 8;
int idleTimeout = (threadTimeoutMillis > 0) ? threadTimeoutMillis : 60000;
server = new Server(new QueuedThreadPool(max, min, idleTimeout));
} else {
server = new Server();
}
server.setAttribute("org.eclipse.jetty.server.Request.maxFormKeys", 20000); //Nombre maximum de données POST
server.setAttribute("org.eclipse.jetty.server.Request.maxFormContentSize", 5000000); //Valeur maximale des données POST
return server;
}
/**
* Creates a Jetty server with supplied thread pool
* @param threadPool thread pool
* @return a new jetty server instance
*/
@Override
public Server create(ThreadPool threadPool) {
return threadPool != null ? new Server(threadPool) : new Server();
}
}
En passant, à moins que vous n'obteniez la valeur du formulaire par programme, aucune erreur ne se produira. Qu'en est-il des spécifications?