Skip to content
Snippets Groups Projects
Commit 31e5db05 authored by Paul-Christian Volkmer's avatar Paul-Christian Volkmer
Browse files

Feature #3937: Create action providing socket url

parent d2b365da
Branches
Tags
No related merge requests found
...@@ -90,4 +90,15 @@ public class SessionController { ...@@ -90,4 +90,15 @@ public class SessionController {
response.setStatus(HttpStatus.SERVICE_UNAVAILABLE.value()); response.setStatus(HttpStatus.SERVICE_UNAVAILABLE.value());
return null; return null;
} }
@RequestMapping(value="/socketurl", method=RequestMethod.GET)
@ResponseBody
public String getSocketUrl() {
StringBuilder url = new StringBuilder();
url.append(server.isUseSSL() ? "https://" : "http://");
url.append(server.getHostIp() + ":" + server.getPortNumber());
return url.toString();
}
} }
...@@ -37,13 +37,13 @@ public class ARSnovaSocketIOServer { ...@@ -37,13 +37,13 @@ public class ARSnovaSocketIOServer {
private final ConcurrentHashMap<UUID, User> socketid2user = new ConcurrentHashMap<UUID, User>(); private final ConcurrentHashMap<UUID, User> socketid2user = new ConcurrentHashMap<UUID, User>();
private int portNumber; private int portNumber;
private String hostIp;
private boolean useSSL = false; private boolean useSSL = false;
private String keystore; private String keystore;
private String storepass; private String storepass;
private final Configuration config; private final Configuration config;
private SocketIOServer server; private SocketIOServer server;
public ARSnovaSocketIOServer() { public ARSnovaSocketIOServer() {
config = new Configuration(); config = new Configuration();
} }
...@@ -55,7 +55,7 @@ public class ARSnovaSocketIOServer { ...@@ -55,7 +55,7 @@ public class ARSnovaSocketIOServer {
System.setProperty("java.net.preferIPv4Stack" , "true"); System.setProperty("java.net.preferIPv4Stack" , "true");
config.setPort(portNumber); config.setPort(portNumber);
config.setHostname("0.0.0.0"); config.setHostname(hostIp);
if(useSSL) { if(useSSL) {
try { try {
InputStream stream = new FileInputStream(keystore); InputStream stream = new FileInputStream(keystore);
...@@ -140,6 +140,14 @@ public class ARSnovaSocketIOServer { ...@@ -140,6 +140,14 @@ public class ARSnovaSocketIOServer {
this.portNumber = portNumber; this.portNumber = portNumber;
} }
public String getHostIp() {
return hostIp;
}
public void setHostIp(String hostIp) {
this.hostIp = hostIp;
}
public String getStorepass() { public String getStorepass() {
return storepass; return storepass;
} }
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<bean id="socketServer" class="de.thm.arsnova.socket.ARSnovaSocketIOServer" <bean id="socketServer" class="de.thm.arsnova.socket.ARSnovaSocketIOServer"
init-method="startServer" destroy-method="stopServer" scope="singleton" init-method="startServer" destroy-method="stopServer" scope="singleton"
p:portNumber="10443" p:useSSL="${security.ssl}" p:keystore="${security.keystore}" p:portNumber="${socketio.port}" p:hostIp="${socketio.ip}" p:useSSL="${security.ssl}" p:keystore="${security.keystore}"
p:storepass="${security.storepass}" /> p:storepass="${security.storepass}" />
</beans> </beans>
...@@ -19,4 +19,7 @@ feedback.cleanup=10 ...@@ -19,4 +19,7 @@ feedback.cleanup=10
couchdb.host=localhost couchdb.host=localhost
couchdb.port=5984 couchdb.port=5984
couchdb.name=arsnova couchdb.name=arsnova
\ No newline at end of file
socketio.ip=0.0.0.0
socketio.port=10443
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment