mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-19 13:58:02 +01:00
Use the UA string from websocket upgrade requests if available.
This commit is contained in:
committed by
Jon Chambers
parent
7454e55693
commit
bbf5e1fa78
@@ -71,6 +71,7 @@ public class WebSocketResourceProvider<T extends Principal> implements WebSocket
|
||||
private Session session;
|
||||
private RemoteEndpoint remoteEndpoint;
|
||||
private WebSocketSessionContext context;
|
||||
private String userAgent;
|
||||
|
||||
public WebSocketResourceProvider(String remoteAddress,
|
||||
ApplicationHandler jerseyHandler,
|
||||
@@ -92,6 +93,7 @@ public class WebSocketResourceProvider<T extends Principal> implements WebSocket
|
||||
@Override
|
||||
public void onWebSocketConnect(Session session) {
|
||||
this.session = session;
|
||||
this.userAgent = session.getUpgradeRequest().getHeader("User-Agent");
|
||||
this.remoteEndpoint = session.getRemote();
|
||||
this.context = new WebSocketSessionContext(new WebSocketClient(session, remoteEndpoint, messageFactory, requestMap));
|
||||
this.context.setAuthenticated(authenticated);
|
||||
@@ -157,6 +159,12 @@ public class WebSocketResourceProvider<T extends Principal> implements WebSocket
|
||||
containerRequest.header(entry.getKey(), entry.getValue());
|
||||
}
|
||||
|
||||
final List<String> requestUserAgentHeader = containerRequest.getRequestHeader("User-Agent");
|
||||
|
||||
if ((requestUserAgentHeader == null || requestUserAgentHeader.isEmpty()) && userAgent != null) {
|
||||
containerRequest.header("User-Agent", userAgent);
|
||||
}
|
||||
|
||||
if (requestMessage.getBody().isPresent()) {
|
||||
containerRequest.setEntityStream(new ByteArrayInputStream(requestMessage.getBody().get()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user