Skip to content

Commit f0ef0b0

Browse files
mustard-mhfelladrin
authored andcommitted
Use another logic when client is not using proxies to connect to Gitpod Server
Also, use a fixed version on JetBrains backend-plugin to avoid unexpected API changes which could block Werft to build the main branch on Gitpod repository.
1 parent 308188d commit f0ef0b0

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

components/gitpod-protocol/java/src/main/java/io/gitpod/gitpodprotocol/api/GitpodServerLauncher.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,37 @@ public GitpodServerConnection listen(
7171
) throws Exception {
7272
String gitpodHost = URI.create(apiUrl).getHost();
7373
HttpClient httpClient;
74+
if (sslContext == null && proxies.size() == 0) {
75+
GitpodServerConnectionImpl connection = new GitpodServerConnectionImpl(gitpodHost);
76+
connection.setSession(ContainerProvider.getWebSocketContainer().connectToServer(new Endpoint() {
77+
@Override
78+
public void onOpen(Session session, EndpointConfig config) {
79+
session.addMessageHandler(new WebSocketMessageHandler(messageReader, jsonHandler, remoteEndpoint));
80+
messageWriter.setSession(session);
81+
client.notifyConnect();
82+
}
83+
84+
@Override
85+
public void onClose(Session session, CloseReason closeReason) {
86+
connection.complete(closeReason);
87+
}
88+
89+
@Override
90+
public void onError(Session session, Throwable thr) {
91+
GitpodServerConnectionImpl.LOG.log(Level.WARNING, gitpodHost + ": connection error:", thr);
92+
connection.completeExceptionally(thr);
93+
}
94+
}, ClientEndpointConfig.Builder.create().configurator(new ClientEndpointConfig.Configurator() {
95+
@Override
96+
public void beforeRequest(final Map<String, List<String>> headers) {
97+
headers.put("Origin", Arrays.asList(origin));
98+
headers.put("Authorization", Arrays.asList("Bearer " + token));
99+
headers.put("User-Agent", Arrays.asList(userAgent));
100+
headers.put("X-Client-Version", Arrays.asList(clientVersion));
101+
}
102+
}).build(), URI.create(apiUrl)));
103+
return connection;
104+
}
74105
if (sslContext == null) {
75106
httpClient = new HttpClient();
76107
} else {

components/ide/jetbrains/backend-plugin/gradle-latest.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ pluginUntilBuild=222.*
66
# See https://jb.gg/intellij-platform-builds-list for available build versions.
77
pluginVerifierIdeVersions=2022.2
88
# Version from "com.jetbrains.intellij.idea" which can be found at https://www.jetbrains.com/intellij-repository/snapshots
9-
platformVersion=222-EAP-SNAPSHOT
9+
platformVersion=222.3244-EAP-CANDIDATE-SNAPSHOT

0 commit comments

Comments
 (0)