7824a.patch
src/com/goldencode/p2j/main/ClientBuilderOptions.java 2023-12-08 06:53:47 +0000 | ||
---|---|---|
27 | 27 |
** 20210926 Moved "getAvailablePorts" logic to WebClientsManager. |
28 | 28 |
** 012 SBI 20230411 Added getOverriddenOptions(), overrideClientOption, overrideWebClientPortOption. |
29 | 29 |
** 013 GBB 20230512 Logging methods replaced by CentralLogger/ConversionStatus. |
30 |
** 014 SBI 20231208 Applied the debug profile if the web client starts the java debug agent. |
|
30 | 31 |
*/ |
31 | 32 |
/* |
32 | 33 |
** This program is free software: you can redistribute it and/or modify |
... | ... | |
308 | 309 |
if (debuggerPort > 0) |
309 | 310 |
{ |
310 | 311 |
updateJvmArgument("-Xrunjdwp:transport", String.format(DEBUGGER_TRANSPORT, debuggerPort)); |
312 |
applyDebugProfile(); |
|
311 | 313 |
} |
312 | 314 |
} |
313 | 315 | |
... | ... | |
326 | 328 |
} |
327 | 329 | |
328 | 330 |
/** |
331 |
* Apply debug profile to simplify web client debugging, using breakpoints while |
|
332 |
* web client forced to be inactive. |
|
333 |
*/ |
|
334 |
public void applyDebugProfile() |
|
335 |
{ |
|
336 |
overrideClientOption("webSocketTimeout", String.valueOf(WebClientDebugConfig.MAX_IDLE_TIME), true); |
|
337 |
overrideClientOption("watchdogTimeout", String.valueOf(WebClientDebugConfig.WATCH_DOG_TIMEOUT), true); |
|
338 |
overrideClientOption("maxIdleTime", String.valueOf(WebClientDebugConfig.MAX_IDLE_TIME), true); |
|
339 |
overrideClientOption("maxHttpIdleTimeout", String.valueOf(WebClientDebugConfig.INFINITE_TIMEOUT), true); |
|
340 |
overrideClientOption("delayBetweenTriesToConnect", String.valueOf(WebClientDebugConfig.DELAY_BETWEEN_CONNECT_TRIES), true); |
|
341 |
overrideClientOption("pingPongInterval", String.valueOf(WebClientDebugConfig.PING_PONG_INTERVAL), true); |
|
342 |
overrideClientOption("maxLostPings", String.valueOf(WebClientDebugConfig.MAX_LOST_PINGS), true); |
|
343 |
overrideClientOption("delayBetweenPingTries", String.valueOf(WebClientDebugConfig.DELAY_BETWEEN_PING_TRIES), true); |
|
344 |
overrideClientOption("enableDebugLogging", String.valueOf(WebClientDebugConfig.ENABLE_DEBUG_LOGGING), true); |
|
345 |
} |
|
346 |
|
|
347 |
/** |
|
348 |
* Add the given named option to the overridden options map. |
|
349 |
* |
|
350 |
* @param name |
|
351 |
* The option name |
|
352 |
* @param value |
|
353 |
* The option value |
|
354 |
* @param debug |
|
355 |
* The boolean value that indicates that the option needs to be logged. |
|
356 |
*/ |
|
357 |
public void overrideClientOption(String name, String value, boolean debug) |
|
358 |
{ |
|
359 |
overriddenOptions.put(name, value); |
|
360 |
if (debug) |
|
361 |
{ |
|
362 |
warn(name, value); |
|
363 |
} |
|
364 |
} |
|
365 | ||
366 |
/** |
|
329 | 367 |
* Add the given named option to the overridden options map. |
330 | 368 |
* |
331 | 369 |
* @param name |
... | ... | |
335 | 373 |
*/ |
336 | 374 |
public void overrideClientOption(String name, String value) |
337 | 375 |
{ |
338 |
overriddenOptions.put(name, value);
|
|
376 |
overrideClientOption(name, value, false);
|
|
339 | 377 |
} |
340 | 378 | |
341 | 379 |
/** |
... | ... | |
433 | 471 |
} |
434 | 472 | |
435 | 473 |
/** |
474 |
* Logs a warning that the parameter is overridden with new value |
|
475 |
* |
|
476 |
* @param parameter |
|
477 |
* The parameter name |
|
478 |
* @param value |
|
479 |
* The parameter value |
|
480 |
*/ |
|
481 |
private static void warn(String parameter, String value) |
|
482 |
{ |
|
483 |
LOG.warning("DEBUG MODE: " + parameter + " = " + value); |
|
484 |
} |
|
485 | ||
486 |
/** |
|
436 | 487 |
* Get default path as the p2j.jar file location. |
437 | 488 |
* |
438 | 489 |
* @return Path to p2j.jar file. |
src/com/goldencode/p2j/main/WebClientBuilderOptions.java 2023-12-08 06:58:17 +0000 | ||
---|---|---|
32 | 32 |
** 009 SBI 20230411 Added lang option and changed getClientOptions to use getOverriddenOptions() |
33 | 33 |
** 010 GBB 20230825 Cleanup for embedded. |
34 | 34 |
** 011 GBB 20231121 Added broadcastChannelPingTimeout. |
35 |
** 012 SBI 20231208 Used the common constants. |
|
35 | 36 |
*/ |
36 | 37 |
/* |
37 | 38 |
** This program is free software: you can redistribute it and/or modify |
... | ... | |
258 | 259 |
|
259 | 260 |
// common websocket parameters |
260 | 261 |
int maxBinaryMessage = cbo.getNode(DIRECTORY_NODE_ID, |
261 |
"maxBinaryMessage",
|
|
262 |
MAX_BINARY_MESSAGE_SIZE_PARAM,
|
|
262 | 263 |
MAX_BINARY_MESSAGE_SIZE); |
263 | 264 |
int maxTextMessage = cbo.getNode(DIRECTORY_NODE_ID, |
264 |
"maxTextMessage",
|
|
265 |
MAX_TEXT_MESSAGE_SIZE_PARAM,
|
|
265 | 266 |
MAX_TEXT_MESSAGE_SIZE); |
266 |
int maxIdleTime = cbo.getNode(DIRECTORY_NODE_ID, "maxIdleTime", MAX_WEB_SOCKET_IDLE_TIMEOUT); |
|
267 |
int maxIdleTime = cbo.getNode(DIRECTORY_NODE_ID, |
|
268 |
MAX_IDLE_TIME_PARAM, |
|
269 |
MAX_WEB_SOCKET_IDLE_TIMEOUT); |
|
267 | 270 |
|
268 | 271 |
int delayBetweenTriesToConnect = cbo.getNode(DIRECTORY_NODE_ID, |
269 |
"delayBetweenTriesToConnect",
|
|
272 |
DELAY_BETWEEN_CONNECT_TRIES_PARAM,
|
|
270 | 273 |
DELAY_BETWEEN_CONNECT_TRIES); |
271 | 274 |
String tryToConnectMessage = quotedString(cbo.getNode(DIRECTORY_NODE_ID, |
272 |
"tryToConnectMessage",
|
|
275 |
TRY_TO_CONNECT_MESSAGE_PARAM,
|
|
273 | 276 |
TRY_TO_CONNECT_MESSAGE)); |
274 | 277 |
String serverUnavailableMessage = quotedString(cbo.getNode(DIRECTORY_NODE_ID, |
275 |
"serverUnavailableMessage",
|
|
278 |
SERVER_UNAVAILABLE_MESSAGE_PARAM,
|
|
276 | 279 |
SERVER_UNAVAILABLE_MESSAGE)); |
277 | 280 |
String connectionRestoredMessage = quotedString(cbo.getNode(DIRECTORY_NODE_ID, |
278 |
"connectionRestoredMessage",
|
|
281 |
CONNECTION_RESTORED_MESSAGE_PARAM,
|
|
279 | 282 |
CONNECTION_RESTORED_MESSAGE)); |
280 |
int pingPongInterval = cbo.getNode(DIRECTORY_NODE_ID, "pingPongInterval", PING_PONG_INTERVAL); |
|
281 |
|
|
282 |
int maxLostPings = cbo.getNode(DIRECTORY_NODE_ID, "maxLostPings", MAX_LOST_PINGS); |
|
283 |
|
|
284 |
int delayBetweenPingTries = cbo.getNode(DIRECTORY_NODE_ID, "delayBetweenPingTries", DELAY_BETWEEN_PING_TRIES); |
|
283 |
int pingPongInterval = cbo.getNode(DIRECTORY_NODE_ID, |
|
284 |
PING_PONG_INTERVAL_PARAM, |
|
285 |
PING_PONG_INTERVAL); |
|
286 |
|
|
287 |
int maxLostPings = cbo.getNode(DIRECTORY_NODE_ID, |
|
288 |
MAX_LOST_PINGS_PARAM, |
|
289 |
MAX_LOST_PINGS); |
|
290 |
|
|
291 |
int delayBetweenPingTries = cbo.getNode(DIRECTORY_NODE_ID, |
|
292 |
DELAY_BETWEEN_PING_TRIES_PARAM, |
|
293 |
DELAY_BETWEEN_PING_TRIES); |
|
285 | 294 |
|
286 | 295 |
//http configuration settings for the embedded web server |
287 |
int maxOutputBufferSize = cbo.getNode(DIRECTORY_NODE_ID, "maxOutputBufferSize", OUTPUT_BUFFER_SIZE); |
|
296 |
int maxOutputBufferSize = cbo.getNode(DIRECTORY_NODE_ID, |
|
297 |
MAX_OUTPUT_BUFFER_SIZE_PARAM, |
|
298 |
OUTPUT_BUFFER_SIZE); |
|
288 | 299 |
options.put("maxOutputBufferSize", String.valueOf(maxOutputBufferSize)); |
289 |
int maxOutputAggregationSize = cbo.getNode(DIRECTORY_NODE_ID, "maxOutputAggregationSize", OUTPUT_AGGREGATION_SIZE); |
|
300 |
int maxOutputAggregationSize = cbo.getNode(DIRECTORY_NODE_ID, |
|
301 |
MAX_OUTPUT_AGGREGATION_SIZE_PARAM, |
|
302 |
OUTPUT_AGGREGATION_SIZE); |
|
290 | 303 |
options.put("maxOutputAggregationSize", String.valueOf(maxOutputAggregationSize)); |
291 |
int maxHttpIdleTimeout = cbo.getNode(DIRECTORY_NODE_ID, "maxHttpIdleTimeout", MAX_HTTP_IDLE_TIMEOUT); |
|
304 |
int maxHttpIdleTimeout = cbo.getNode(DIRECTORY_NODE_ID, |
|
305 |
EMB_WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM, |
|
306 |
INFINITE_TIMEOUT); |
|
292 | 307 |
options.put("maxHttpIdleTimeout", String.valueOf(maxHttpIdleTimeout)); |
293 |
int maxResponseHeaderSize = cbo.getNode(DIRECTORY_NODE_ID, "maxResponseHeaderSize", RESPONSE_HEADER_SIZE); |
|
308 |
int maxResponseHeaderSize = cbo.getNode(DIRECTORY_NODE_ID, |
|
309 |
MAX_RESPONSE_HEADER_SIZE_PARAM, |
|
310 |
RESPONSE_HEADER_SIZE); |
|
294 | 311 |
options.put("maxResponseHeaderSize", String.valueOf(maxResponseHeaderSize)); |
295 |
int maxRequestHeaderSize = cbo.getNode(DIRECTORY_NODE_ID, "maxRequestHeaderSize", REQUEST_HEADER_SIZE); |
|
312 |
int maxRequestHeaderSize = cbo.getNode(DIRECTORY_NODE_ID, |
|
313 |
MAX_REQUEST_HEADER_SIZE_PARAM, |
|
314 |
REQUEST_HEADER_SIZE); |
|
296 | 315 |
options.put("maxRequestHeaderSize", String.valueOf(maxRequestHeaderSize)); |
297 | 316 | |
298 | 317 |
// the possible values for renderer are webgl and 2d (case insensitive) |
src/com/goldencode/p2j/main/WebClientConstants.java 2023-09-27 00:02:22 +0000 | ||
---|---|---|
2 | 2 |
** Module : WebClientConstants.java |
3 | 3 |
** Abstract : Defines the web client constants. |
4 | 4 |
** |
5 |
** Copyright (c) 2021-2022, Golden Code Development Corporation.
|
|
5 |
** Copyright (c) 2021-2023, Golden Code Development Corporation.
|
|
6 | 6 |
** |
7 | 7 |
** -#- -I- --Date-- ------------------------------Description---------------------------------- |
8 | 8 |
** 001 SBI 20210512 Added common constants used by web client. |
... | ... | |
11 | 11 |
** 20210914 Added default values for enableDebugLogging. |
12 | 12 |
** 20211003 Renamed MAX_IDLE_TIMEOUT to MAX_WEB_SOCKET_IDLE_TIMEOUT. |
13 | 13 |
** 002 20221121 Fixed spelling errors. |
14 |
** 003 SBI 20230926 Added new constants that represent parameter names. |
|
14 | 15 |
*/ |
15 | 16 |
/* |
16 | 17 |
** This program is free software: you can redistribute it and/or modify |
... | ... | |
117 | 118 |
|
118 | 119 |
/** This default message is shown if the web socket connection has been restored. */ |
119 | 120 |
String CONNECTION_RESTORED_MESSAGE = "The server connection has been restored."; |
120 | ||
121 |
|
|
122 |
/** |
|
123 |
* The "maxBinaryMessage" parameter name |
|
124 |
*/ |
|
125 |
String MAX_BINARY_MESSAGE_SIZE_PARAM = "maxBinaryMessage"; |
|
126 |
|
|
127 |
/** |
|
128 |
* The "maxTextMessage" parameter name |
|
129 |
*/ |
|
130 |
String MAX_TEXT_MESSAGE_SIZE_PARAM = "maxTextMessage"; |
|
131 |
|
|
132 |
/** |
|
133 |
* The "delayBetweenTriesToConnect" parameter name |
|
134 |
*/ |
|
135 |
String DELAY_BETWEEN_PING_TRIES_PARAM = "delayBetweenTriesToConnect"; |
|
136 |
|
|
137 |
/** |
|
138 |
* The "pingPongInterval" parameter name |
|
139 |
*/ |
|
140 |
String PING_PONG_INTERVAL_PARAM = "pingPongInterval"; |
|
141 |
|
|
142 |
/** |
|
143 |
* The "maxLostPings" parameter name |
|
144 |
*/ |
|
145 |
String MAX_LOST_PINGS_PARAM = "maxLostPings"; |
|
146 |
|
|
147 |
/** |
|
148 |
* The "delayBetweenTriesToConnect" parameter name |
|
149 |
*/ |
|
150 |
String DELAY_BETWEEN_CONNECT_TRIES_PARAM = "delayBetweenTriesToConnect"; |
|
151 |
|
|
152 |
/** |
|
153 |
* The "tryToConnectMessage" parameter name |
|
154 |
*/ |
|
155 |
String TRY_TO_CONNECT_MESSAGE_PARAM = "tryToConnectMessage"; |
|
156 |
|
|
157 |
/** |
|
158 |
* The "serverUnavailableMessage" parameter name |
|
159 |
*/ |
|
160 |
String SERVER_UNAVAILABLE_MESSAGE_PARAM = "serverUnavailableMessage"; |
|
161 |
|
|
162 |
/** |
|
163 |
* The "connectionRestoredMessage" parameter name |
|
164 |
*/ |
|
165 |
String CONNECTION_RESTORED_MESSAGE_PARAM = "connectionRestoredMessage"; |
|
121 | 166 |
} |
src/com/goldencode/p2j/main/WebClientDebugConfig.java 2023-09-27 00:02:22 +0000 | ||
---|---|---|
1 |
/* |
|
2 |
** Module : WebClientDebugConfig.java |
|
3 |
** Abstract : Defines common configuration settings required for debugging web clients. |
|
4 |
** |
|
5 |
** Copyright (c) 2023, Golden Code Development Corporation. |
|
6 |
** |
|
7 |
** -#- -I- --Date-- ----------------------Description-------------------------- |
|
8 |
** 001 SBI 20230925 Added web client debug configuration settings. |
|
9 |
*/ |
|
10 |
/* |
|
11 |
** This program is free software: you can redistribute it and/or modify |
|
12 |
** it under the terms of the GNU Affero General Public License as |
|
13 |
** published by the Free Software Foundation, either version 3 of the |
|
14 |
** License, or (at your option) any later version. |
|
15 |
** |
|
16 |
** This program is distributed in the hope that it will be useful, |
|
17 |
** but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
18 |
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
19 |
** GNU Affero General Public License for more details. |
|
20 |
** |
|
21 |
** You may find a copy of the GNU Affero GPL version 3 at the following |
|
22 |
** location: https://www.gnu.org/licenses/agpl-3.0.en.html |
|
23 |
** |
|
24 |
** Additional terms under GNU Affero GPL version 3 section 7: |
|
25 |
** |
|
26 |
** Under Section 7 of the GNU Affero GPL version 3, the following additional |
|
27 |
** terms apply to the works covered under the License. These additional terms |
|
28 |
** are non-permissive additional terms allowed under Section 7 of the GNU |
|
29 |
** Affero GPL version 3 and may not be removed by you. |
|
30 |
** |
|
31 |
** 0. Attribution Requirement. |
|
32 |
** |
|
33 |
** You must preserve all legal notices or author attributions in the covered |
|
34 |
** work or Appropriate Legal Notices displayed by works containing the covered |
|
35 |
** work. You may not remove from the covered work any author or developer |
|
36 |
** credit already included within the covered work. |
|
37 |
** |
|
38 |
** 1. No License To Use Trademarks. |
|
39 |
** |
|
40 |
** This license does not grant any license or rights to use the trademarks |
|
41 |
** Golden Code, FWD, any Golden Code or FWD logo, or any other trademarks |
|
42 |
** of Golden Code Development Corporation. You are not authorized to use the |
|
43 |
** name Golden Code, FWD, or the names of any author or contributor, for |
|
44 |
** publicity purposes without written authorization. |
|
45 |
** |
|
46 |
** 2. No Misrepresentation of Affiliation. |
|
47 |
** |
|
48 |
** You may not represent yourself as Golden Code Development Corporation or FWD. |
|
49 |
** |
|
50 |
** You may not represent yourself for publicity purposes as associated with |
|
51 |
** Golden Code Development Corporation, FWD, or any author or contributor to |
|
52 |
** the covered work, without written authorization. |
|
53 |
** |
|
54 |
** 3. No Misrepresentation of Source or Origin. |
|
55 |
** |
|
56 |
** You may not represent the covered work as solely your work. All modified |
|
57 |
** versions of the covered work must be marked in a reasonable way to make it |
|
58 |
** clear that the modified work is not originating from Golden Code Development |
|
59 |
** Corporation or FWD. All modified versions must contain the notices of |
|
60 |
** attribution required in this license. |
|
61 |
*/ |
|
62 | ||
63 | ||
64 |
package com.goldencode.p2j.main; |
|
65 | ||
66 |
import com.goldencode.p2j.web.HttpConfigurationConstants; |
|
67 | ||
68 |
/** |
|
69 |
* Defines the debug configuration settings that should override the directory and the default configuration settings |
|
70 |
* if the java debug agent is set. |
|
71 |
*/ |
|
72 |
public interface WebClientDebugConfig |
|
73 |
extends WebClientConstants, |
|
74 |
HttpConfigurationConstants |
|
75 |
{ |
|
76 |
/** Override the default idle time after which the connection should be closed */ |
|
77 |
int MAX_IDLE_TIME = 20 * 60 * 1000; |
|
78 |
|
|
79 |
/** Override the default watch dog timeout */ |
|
80 |
int WATCH_DOG_TIMEOUT = 40 * 60 * 1000; |
|
81 |
|
|
82 |
/** Override the default delay between successful MSG_PING_PONG pairs if the server replies with MSG_PING_PONG */ |
|
83 |
int PING_PONG_INTERVAL = 20 * 60 * 1000; |
|
84 |
|
|
85 |
/** Override the default debug logging for the web client */ |
|
86 |
boolean ENABLE_DEBUG_LOGGING = true; |
|
87 |
} |
src/com/goldencode/p2j/main/WebServer.java 2023-12-08 06:58:22 +0000 | ||
---|---|---|
51 | 51 |
** 20210812 Added createContextHandler() method to encapsulate and reuse this logic. |
52 | 52 |
** 20211003 Moved common constants to HttpConfigurationConstants. |
53 | 53 |
** 022 GBB 20230512 Logging methods replaced by CentralLogger/ConversionStatus. |
54 |
** 023 SBI 20231208 Fixed the default idle timeout for web server http configuration and replaced coded |
|
55 |
** parameters with corresponding defined constants. |
|
54 | 56 |
*/ |
55 | 57 |
/* |
56 | 58 |
** This program is free software: you can redistribute it and/or modify |
... | ... | |
158 | 160 |
// server-scoped directory search for the admin port number |
159 | 161 |
port = Utils.getDirectoryNodeInt(null, "adminPort", HTTPS_PORT, false); |
160 | 162 |
|
161 |
int maxOutputBufferSize = Utils.getDirectoryNodeInt(null, "maxOutputBufferSize", OUTPUT_BUFFER_SIZE, false); |
|
163 |
int maxOutputBufferSize = Utils.getDirectoryNodeInt(null, |
|
164 |
MAX_OUTPUT_BUFFER_SIZE_PARAM, |
|
165 |
OUTPUT_BUFFER_SIZE, |
|
166 |
false); |
|
162 | 167 |
getHttpConfiguration().setOutputBufferSize(maxOutputBufferSize); |
163 |
int maxOutputAggregationSize = Utils.getDirectoryNodeInt(null, "maxOutputAggregationSize", OUTPUT_AGGREGATION_SIZE, false); |
|
168 |
int maxOutputAggregationSize = Utils.getDirectoryNodeInt(null, |
|
169 |
MAX_OUTPUT_AGGREGATION_SIZE_PARAM, |
|
170 |
OUTPUT_AGGREGATION_SIZE, |
|
171 |
false); |
|
164 | 172 |
if (maxOutputAggregationSize != OUTPUT_AGGREGATION_SIZE) |
165 | 173 |
{ |
166 | 174 |
getHttpConfiguration().setOutputAggregationSize(maxOutputAggregationSize); |
167 | 175 |
} |
168 |
int maxIdleTimeout = Utils.getDirectoryNodeInt(null, "maxIdleTimeout", -1, false); |
|
169 |
if (maxIdleTimeout >= 0) |
|
170 |
{ |
|
171 |
getHttpConfiguration().setIdleTimeout(maxIdleTimeout); |
|
172 |
} |
|
173 |
int maxResponseHeaderSize = Utils.getDirectoryNodeInt(null, "maxResponseHeaderSize", RESPONSE_HEADER_SIZE, false); |
|
176 |
int maxIdleTimeout = Utils.getDirectoryNodeInt(null, |
|
177 |
WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM, |
|
178 |
CONNECTION_TIMEOUT, |
|
179 |
false); |
|
180 |
getHttpConfiguration().setIdleTimeout(maxIdleTimeout); |
|
181 |
|
|
182 |
int maxResponseHeaderSize = Utils.getDirectoryNodeInt(null, |
|
183 |
MAX_RESPONSE_HEADER_SIZE_PARAM, |
|
184 |
RESPONSE_HEADER_SIZE, |
|
185 |
false); |
|
174 | 186 |
if (maxResponseHeaderSize != RESPONSE_HEADER_SIZE) |
175 | 187 |
{ |
176 | 188 |
getHttpConfiguration().setResponseHeaderSize(maxResponseHeaderSize); |
177 | 189 |
} |
178 |
int maxRequestHeaderSize = Utils.getDirectoryNodeInt(null, "maxRequestHeaderSize", REQUEST_HEADER_SIZE, false); |
|
190 |
int maxRequestHeaderSize = Utils.getDirectoryNodeInt(null, |
|
191 |
MAX_REQUEST_HEADER_SIZE_PARAM, |
|
192 |
REQUEST_HEADER_SIZE, |
|
193 |
false); |
|
179 | 194 |
if (maxRequestHeaderSize != REQUEST_HEADER_SIZE) |
180 | 195 |
{ |
181 | 196 |
getHttpConfiguration().setRequestHeaderSize(maxRequestHeaderSize); |
src/com/goldencode/p2j/ui/client/gui/driver/web/GuiWebDriver.java 2023-12-08 06:55:59 +0000 | ||
---|---|---|
235 | 235 |
** 076 GBB 20231113 Adding storageId param to getLocalStorageAccessor. Implementing new interface ScreenWebDriver. |
236 | 236 |
** Adding getBrowserWebSocket(). Reading config broadcastChannelPingTimeout. |
237 | 237 |
** 077 GBB 20231130 ScreenDriver getName() implemented. |
238 |
** 078 SBI 20231208 Replaced coded config parameters with corresponding defined constants. |
|
238 | 239 |
*/ |
239 | 240 | |
240 | 241 |
/* |
... | ... | |
658 | 659 |
new GenericWebSocketCreator<WebClientProtocol>(websock), |
659 | 660 |
cpres, |
660 | 661 |
hdlrs); |
661 |
int maxOutputBufferSize = config.getInt("client", "web", "maxOutputBufferSize", OUTPUT_BUFFER_SIZE); |
|
662 |
int maxOutputBufferSize = config.getInt("client", |
|
663 |
"web", |
|
664 |
MAX_OUTPUT_BUFFER_SIZE_PARAM, |
|
665 |
OUTPUT_BUFFER_SIZE); |
|
662 | 666 |
websrv.getHttpConfiguration().setOutputBufferSize(maxOutputBufferSize); |
663 |
int maxOutputAggregationSize = config.getInt("client", "web", "maxOutputAggregationSize", OUTPUT_AGGREGATION_SIZE); |
|
667 |
int maxOutputAggregationSize = config.getInt("client", |
|
668 |
"web", |
|
669 |
MAX_OUTPUT_AGGREGATION_SIZE_PARAM, |
|
670 |
OUTPUT_AGGREGATION_SIZE); |
|
664 | 671 |
websrv.getHttpConfiguration().setOutputAggregationSize(maxOutputAggregationSize); |
665 |
int maxHttpIdleTimeout = config.getInt("client", "web", "maxHttpIdleTimeout", MAX_HTTP_IDLE_TIMEOUT); |
|
672 |
int maxHttpIdleTimeout = config.getInt("client", |
|
673 |
"web", |
|
674 |
MAX_HTTP_IDLE_TIMEOUT_PARAM, |
|
675 |
INFINITE_TIMEOUT); |
|
666 | 676 |
websrv.getHttpConfiguration().setIdleTimeout(maxHttpIdleTimeout); |
667 |
int maxResponseHeaderSize = config.getInt("client", "web", "maxResponseHeaderSize", RESPONSE_HEADER_SIZE); |
|
677 |
int maxResponseHeaderSize = config.getInt("client", |
|
678 |
"web", |
|
679 |
MAX_RESPONSE_HEADER_SIZE_PARAM, |
|
680 |
RESPONSE_HEADER_SIZE); |
|
668 | 681 |
websrv.getHttpConfiguration().setResponseHeaderSize(maxResponseHeaderSize); |
669 |
int maxRequestHeaderSize = config.getInt("client", "web", "maxRequestHeaderSize", REQUEST_HEADER_SIZE); |
|
682 |
int maxRequestHeaderSize = config.getInt("client", |
|
683 |
"web", |
|
684 |
MAX_REQUEST_HEADER_SIZE_PARAM, |
|
685 |
REQUEST_HEADER_SIZE); |
|
670 | 686 |
websrv.getHttpConfiguration().setRequestHeaderSize(maxRequestHeaderSize); |
671 | 687 |
} |
672 | 688 |
src/com/goldencode/p2j/web/HttpConfigurationConstants.java 2023-12-08 06:59:43 +0000 | ||
---|---|---|
2 | 2 |
** Module : HttpConfigurationConstants.java |
3 | 3 |
** Abstract : Defines common http configuration settings. |
4 | 4 |
** |
5 |
** Copyright (c) 2021, Golden Code Development Corporation. |
|
5 |
** Copyright (c) 2021-2023, Golden Code Development Corporation.
|
|
6 | 6 |
** |
7 | 7 |
** -#- -I- --Date-- ----------------------Description-------------------------- |
8 | 8 |
** 001 SBI 20211003 Added common http configuration settings. |
9 |
** 002 SBI 20231208 Added http configuration parameters. |
|
9 | 10 |
*/ |
10 | 11 |
/* |
11 | 12 |
** This program is free software: you can redistribute it and/or modify |
... | ... | |
78 | 79 |
int REQUEST_HEADER_SIZE = 8 * 1024; |
79 | 80 |
|
80 | 81 |
/** |
81 |
* The maximal http idle timeout, infinite timeout. -1 means that the connection timeout is used, |
|
82 |
* 0 implies infinite timeout, max idle time is applied to an HTTP request for IO operations |
|
83 |
* and delayed dispatch. |
|
84 |
*/ |
|
85 |
int MAX_HTTP_IDLE_TIMEOUT = 0; |
|
82 |
* The connection timeout for setting max idle time, max idle time is applied to an HTTP request for IO operations |
|
83 |
* and delayed dispatch. |
|
84 |
*/ |
|
85 |
int CONNECTION_TIMEOUT = -1; |
|
86 |
|
|
87 |
/** |
|
88 |
* The infinite timeout for setting max idle time, max idle time is applied to an HTTP request for IO operations |
|
89 |
* and delayed dispatch. |
|
90 |
*/ |
|
91 |
int INFINITE_TIMEOUT = 0; |
|
92 |
|
|
93 |
/** |
|
94 |
* The "maxHttpIdleTimeout" parameter name |
|
95 |
*/ |
|
96 |
String MAX_HTTP_IDLE_TIMEOUT_PARAM = "maxHttpIdleTimeout"; |
|
97 |
|
|
98 |
/** |
|
99 |
* The "maxOutputBufferSize" parameter name |
|
100 |
*/ |
|
101 |
String MAX_OUTPUT_BUFFER_SIZE_PARAM = "maxOutputBufferSize"; |
|
102 |
|
|
103 |
/** |
|
104 |
* The "maxOutputAggregationSize" parameter name |
|
105 |
*/ |
|
106 |
String MAX_OUTPUT_AGGREGATION_SIZE_PARAM = "maxOutputAggregationSize"; |
|
107 |
|
|
108 |
/** |
|
109 |
* The "webServerMaxIdleTimeout" parameter name |
|
110 |
*/ |
|
111 |
String WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM = "webServerMaxIdleTimeout"; |
|
112 |
|
|
113 |
/** |
|
114 |
* The "embWebServerMaxIdleTimeout" parameter name |
|
115 |
*/ |
|
116 |
String EMB_WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM = "embWebServerMaxIdleTimeout"; |
|
117 |
|
|
118 |
/** |
|
119 |
* The "maxIdleTime" parameter name |
|
120 |
*/ |
|
121 |
String MAX_IDLE_TIME_PARAM = "maxIdleTime"; |
|
122 |
|
|
123 |
/** |
|
124 |
* The "maxResponseHeaderSize" parameter name |
|
125 |
*/ |
|
126 |
String MAX_RESPONSE_HEADER_SIZE_PARAM = "maxResponseHeaderSize"; |
|
127 |
|
|
128 |
/** |
|
129 |
* The "maxRequestHeaderSize" parameter name |
|
130 |
*/ |
|
131 |
String MAX_REQUEST_HEADER_SIZE_PARAM = "maxRequestHeaderSize"; |
|
86 | 132 |
} |