Author: al Date: Tue Sep 25 12:23:30 2012 New Revision: 1389830 URL: http://svn.apache.org/viewvc?rev=1389830&view=rev Log: Make the presented websocket address configurable
By Ali Lown (https://reviews.apache.org/r/7230/) Modified: incubator/wave/trunk/server-config.xml incubator/wave/trunk/server.config.example incubator/wave/trunk/src/org/waveprotocol/box/server/CoreSettings.java incubator/wave/trunk/src/org/waveprotocol/box/server/rpc/WaveClientServlet.java Modified: incubator/wave/trunk/server-config.xml URL: http://svn.apache.org/viewvc/incubator/wave/trunk/server-config.xml?rev=1389830&r1=1389829&r2=1389830&view=diff ============================================================================== --- incubator/wave/trunk/server-config.xml (original) +++ incubator/wave/trunk/server-config.xml Tue Sep 25 12:23:30 2012 @@ -5,6 +5,7 @@ <property name="wave_server_domain" value="local.net" /> <property name="http_frontend_public_address" value="localhost:9898" /> <property name="http_websocket_public_address" value="${http_frontend_public_address}" /> + <property name="http_websocket_presented_address" value="${http_frontend_public_address}" /> <property name="http_frontend_addresses" value="${http_frontend_public_address}" /> <property name="resource_bases" value="./war" /> <property name="signer_info_store_type" value="file" /> @@ -74,6 +75,8 @@ value="${http_frontend_public_address}" /> <token key="HTTP_WEBSOCKET_PUBLIC_ADDRESS" value="${http_websocket_public_address}" /> + <token key="HTTP_WEBSOCKET_PRESENTED_ADDRESS" + value="${http_websocket_presented_address}" /> <token key="HTTP_FRONTEND_ADDRESSES" value="${http_frontend_addresses}" /> <token key="RESOURCE_BASES" value="${resource_bases}" /> Modified: incubator/wave/trunk/server.config.example URL: http://svn.apache.org/viewvc/incubator/wave/trunk/server.config.example?rev=1389830&r1=1389829&r2=1389830&view=diff ============================================================================== --- incubator/wave/trunk/server.config.example (original) +++ incubator/wave/trunk/server.config.example Tue Sep 25 12:23:30 2012 @@ -32,6 +32,11 @@ http_frontend_public_address = @HTTP_FRO # Default value: localhost:9898 http_websocket_public_address = @HTTP_WEBSOCKET_PUBLIC_ADDRESS@ +# An optional host:port address for which the client is told to attempt websocket connections. +# If no value is set for http_websocket_presented_address it defaults to http_websocket_public_address +# Default value: localhost:9898 +http_websocket_presented_address = @HTTP_WEBSOCKET_PRESENTED_ADDRESS@ + # Default value: values passed to http_frontend_public_address. http_frontend_addresses = @HTTP_FRONTEND_ADDRESSES@ Modified: incubator/wave/trunk/src/org/waveprotocol/box/server/CoreSettings.java URL: http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/box/server/CoreSettings.java?rev=1389830&r1=1389829&r2=1389830&view=diff ============================================================================== --- incubator/wave/trunk/src/org/waveprotocol/box/server/CoreSettings.java (original) +++ incubator/wave/trunk/src/org/waveprotocol/box/server/CoreSettings.java Tue Sep 25 12:23:30 2012 @@ -29,6 +29,7 @@ public class CoreSettings { public static final String WAVE_SERVER_DOMAIN = "wave_server_domain"; public static final String HTTP_FRONTEND_PUBLIC_ADDRESS = "http_frontend_public_address"; public static final String HTTP_WEBSOCKET_PUBLIC_ADDRESS = "http_websocket_public_address"; + public static final String HTTP_WEBSOCKET_PRESENTED_ADDRESS = "http_websocket_presented_address"; public static final String HTTP_FRONTEND_ADDRESSES = "http_frontend_addresses"; public static final String RESOURCE_BASES = "resource_bases"; public static final String WAVESERVER_DISABLE_VERIFICATION = "waveserver_disable_verification"; @@ -77,6 +78,10 @@ public class CoreSettings { description = "The server's websocket public address.") private static String httpWebsocketPublicAddress; + @Setting(name = HTTP_WEBSOCKET_PRESENTED_ADDRESS, defaultValue = "localhost:9898", + description = "The presented server's websocket address.") + private static String httpWebsocketPresentedAddress; + @Setting(name = HTTP_FRONTEND_ADDRESSES, defaultValue = "localhost:9898", description = "A comman seperated list of address on which to listen for connections." + " Each address is a host or ip and port seperated by a colon.") Modified: incubator/wave/trunk/src/org/waveprotocol/box/server/rpc/WaveClientServlet.java URL: http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/box/server/rpc/WaveClientServlet.java?rev=1389830&r1=1389829&r2=1389830&view=diff ============================================================================== --- incubator/wave/trunk/src/org/waveprotocol/box/server/rpc/WaveClientServlet.java (original) +++ incubator/wave/trunk/src/org/waveprotocol/box/server/rpc/WaveClientServlet.java Tue Sep 25 12:23:30 2012 @@ -72,6 +72,7 @@ public class WaveClientServlet extends H private final String analyticsAccount; private final SessionManager sessionManager; private final String websocketAddress; + private final String websocketPresentedAddress; /** * Creates a servlet for the wave client. @@ -81,11 +82,14 @@ public class WaveClientServlet extends H @Named(CoreSettings.WAVE_SERVER_DOMAIN) String domain, @Named(CoreSettings.HTTP_FRONTEND_ADDRESSES) List<String> httpAddresses, @Named(CoreSettings.HTTP_WEBSOCKET_PUBLIC_ADDRESS) String websocketAddress, + @Named(CoreSettings.HTTP_WEBSOCKET_PRESENTED_ADDRESS) String websocketPresentedAddress, @Named(CoreSettings.ANALYTICS_ACCOUNT) String analyticsAccount, SessionManager sessionManager) { this.domain = domain; this.websocketAddress = StringUtils.isEmpty(websocketAddress) ? httpAddresses.get(0) : websocketAddress; + this.websocketPresentedAddress = StringUtils.isEmpty(websocketPresentedAddress) ? + this.websocketAddress : websocketPresentedAddress; this.analyticsAccount = analyticsAccount; this.sessionManager = sessionManager; } @@ -113,7 +117,7 @@ public class WaveClientServlet extends H try { WaveClientPage.write(response.getWriter(), new GxpContext(request.getLocale()), - getSessionJson(request.getSession(false)), getClientFlags(request), websocketAddress, + getSessionJson(request.getSession(false)), getClientFlags(request), websocketPresentedAddress, TopBar.getGxpClosure(username, userDomain), analyticsAccount); } catch (IOException e) { LOG.warning("Failed to write GXP for request " + request, e);
