diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/ProxyServlet.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/ProxyServlet.java
index 508421feae4..207f50aa3c4 100644
--- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/ProxyServlet.java
+++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/ProxyServlet.java
@@ -74,7 +74,11 @@ import org.omg.CORBA._PolicyStub;
*
maxConnections - maximum connections per destination
* timeout - the period in ms the client will wait for a response from the proxied server
* idleTimeout - the period in ms a connection to proxied server can be idle for before it is closed
- * HostHeader - Force the host header to a particular value
+ * requestHeaderSize - the size of the request header buffer (d. 6,144)
+ * requestBufferSize - the size of the request buffer (d. 12,288)
+ * responseHeaderSize - the size of the response header buffer (d. 6,144)
+ * responseBufferSize - the size of the response buffer (d. 32,768)
+ * HostHeader - Force the host header to a particular value
* whiteList - comma-separated list of allowed proxy destinations
* blackList - comma-separated list of forbidden proxy destinations
*
@@ -222,6 +226,34 @@ public class ProxyServlet implements Servlet
client.setIdleTimeout(Long.parseLong(t));
}
+ t = config.getInitParameter("requestHeaderSize");
+
+ if ( t != null )
+ {
+ client.setRequestHeaderSize(Integer.parseInt(t));
+ }
+
+ t = config.getInitParameter("requestBufferSize");
+
+ if ( t != null )
+ {
+ client.setRequestBufferSize(Integer.parseInt(t));
+ }
+
+ t = config.getInitParameter("responseHeaderSize");
+
+ if ( t != null )
+ {
+ client.setResponseHeaderSize(Integer.parseInt(t));
+ }
+
+ t = config.getInitParameter("responseBufferSize");
+
+ if ( t != null )
+ {
+ client.setResponseBufferSize(Integer.parseInt(t));
+ }
+
client.start();
return client;