@@ -38,15 +38,18 @@ public class Server {
38
38
private InetSocketAddress connectTo ;
39
39
40
40
private int port ;
41
+
42
+ private int sizeLimit ;
41
43
42
- private Server (int port , int adminPort , InetSocketAddress connectTo ) {
44
+ private Server (int port , int adminPort , InetSocketAddress connectTo , int sizeLimit ) {
43
45
super ();
44
46
resolver = new ConnectionPool ();
45
47
filters = new Filters ();
46
48
47
49
Server .adminPort = adminPort ;
48
50
this .port = port ;
49
51
this .connectTo = connectTo ;
52
+ this .sizeLimit = sizeLimit ;
50
53
}
51
54
52
55
public void start () {
@@ -135,6 +138,7 @@ public static void main(String[] args) throws IOException {
135
138
InetSocketAddress connectTo = null ;
136
139
int port = 9999 ;
137
140
int adminPort = 1337 ;
141
+ int sizeLimit = 100 * 1024 * 1024 ;
138
142
139
143
for (int i = 0 ; i < args .length ; i ++) {
140
144
String arg = args [i ];
@@ -181,6 +185,23 @@ public static void main(String[] args) throws IOException {
181
185
return ;
182
186
}
183
187
188
+ } else if (arg .startsWith ("--size-limit=" )) {
189
+
190
+ String portString = arg .substring (arg .indexOf ('=' ) + 1 );
191
+
192
+ try {
193
+ int size = Integer .parseInt (portString );
194
+ if (size >= 0 ) {
195
+ sizeLimit = size ;
196
+ }
197
+ continue ;
198
+ } catch (NumberFormatException e ) {
199
+ }
200
+
201
+ System .out .println ("'" + sizeLimit + "' is not a size number (must be in MBs)" );
202
+ usage ();
203
+ return ;
204
+
184
205
}
185
206
186
207
}
@@ -190,8 +211,9 @@ public static void main(String[] args) throws IOException {
190
211
if (connectTo != null ) {
191
212
System .out .println ("Chaining to: " + connectTo );
192
213
}
214
+ System .out .println ("Size limit: " + sizeLimit );
193
215
194
- Server .run (port , adminPort , connectTo );
216
+ Server .run (port , adminPort , connectTo , sizeLimit );
195
217
System .exit (0 );
196
218
}
197
219
@@ -200,10 +222,11 @@ private static void usage() {
200
222
System .out .println ("\t --chain=ip:port Chain to another proxy" );
201
223
System .out .println ("\t --port=port Listen for requests on `port`" );
202
224
System .out .println ("\t --admin-port=port Listen for admin requests on `port`" );
225
+ System .out .println ("\t --size-limit=size Limit the size of messages for transformations" );
203
226
}
204
227
205
- private static void run (int port , int adminPort , InetSocketAddress connectTo ) {
206
- instance = new Server (port , adminPort , connectTo );
228
+ private static void run (int port , int adminPort , InetSocketAddress connectTo , int sizeLimit ) {
229
+ instance = new Server (port , adminPort , connectTo , sizeLimit );
207
230
instance .start ();
208
231
}
209
232
@@ -232,5 +255,9 @@ public static Filters getFilters() {
232
255
public static InetSocketAddress getChainAddress () {
233
256
return instance .connectTo ;
234
257
}
258
+
259
+ public static int getSizeLimit () {
260
+ return instance .sizeLimit ;
261
+ }
235
262
236
263
}
0 commit comments