Revert "Merge pull request #125 from overleaf/spd-revert-jetty-changes"

This reverts commit 9c324c378c46aa8b4b14e529e90ad9cbfca969cd, reversing
changes made to 63ccd609405952aa8749299c8a5cf7895f14a1bd.
This commit is contained in:
Simon Detheridge 2021-07-01 11:45:16 +01:00
parent 2e8c1da85a
commit f8f60eabad
9 changed files with 46 additions and 3 deletions

View file

@ -1,5 +1,7 @@
{
"port": ${GIT_BRIDGE_PORT:-8000},
"bindIp": "${GIT_BRIDGE_BIND_IP:-0.0.0.0}",
"idleTimeout": ${GIT_BRIDGE_IDLE_TIMEOUT:-600000},
"rootGitDirectory": "${GIT_BRIDGE_ROOT_DIR:-/tmp/wlgb}",
"apiBaseUrl": "${GIT_BRIDGE_API_BASE_URL:-https://localhost/api/v0}",
"postbackBaseUrl": "${GIT_BRIDGE_POSTBACK_BASE_URL:-https://localhost}",

View file

@ -1,5 +1,7 @@
{
"port": 8080,
"bindIp": "127.0.0.1",
"idleTimeout": 60000,
"rootGitDirectory": "/tmp/wlgb",
"apiBaseUrl": "https://localhost/api/v0",
"postbackBaseUrl": "https://localhost",

View file

@ -1,5 +1,7 @@
{
"port": 8000,
"bindIp": "0.0.0.0",
"idleTimeout": 600000,
"rootGitDirectory": "/tmp/wlgb",
"apiBaseUrl": "http://v2.overleaf.test:4000/api/v0",
"postbackBaseUrl": "http://git-bridge:8000",

View file

@ -76,13 +76,13 @@
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.4.8.v20171121</version>
<version>9.4.38.v20210224</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.8.v20171121</version>
<version>9.4.38.v20210224</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>

View file

@ -24,6 +24,8 @@ public class Config implements JSONSource {
static Config asSanitised(Config config) {
return new Config(
config.port,
config.bindIp,
config.idleTimeout,
config.rootGitDirectory,
config.apiBaseURL,
config.postbackURL,
@ -37,6 +39,8 @@ public class Config implements JSONSource {
}
private int port;
private String bindIp;
private int idleTimeout;
private String rootGitDirectory;
private String apiBaseURL;
private String postbackURL;
@ -64,6 +68,8 @@ public class Config implements JSONSource {
public Config(
int port,
String bindIp,
int idleTimeout,
String rootGitDirectory,
String apiBaseURL,
String postbackURL,
@ -75,6 +81,8 @@ public class Config implements JSONSource {
int sqliteHeapLimitBytes
) {
this.port = port;
this.bindIp = bindIp;
this.idleTimeout = idleTimeout;
this.rootGitDirectory = rootGitDirectory;
this.apiBaseURL = apiBaseURL;
this.postbackURL = postbackURL;
@ -90,6 +98,8 @@ public class Config implements JSONSource {
public void fromJSON(JsonElement json) {
JsonObject configObject = json.getAsJsonObject();
port = getElement(configObject, "port").getAsInt();
bindIp = getElement(configObject, "bindIp").getAsString();
idleTimeout = getElement(configObject, "idleTimeout").getAsInt();
rootGitDirectory = getElement(
configObject,
"rootGitDirectory"
@ -131,6 +141,14 @@ public class Config implements JSONSource {
return port;
}
public String getBindIp() {
return bindIp;
}
public int getIdleTimeout() {
return idleTimeout;
}
public String getRootGitDirectory() {
return rootGitDirectory;
}

View file

@ -2,6 +2,7 @@ package uk.ac.ic.wlgitbridge.server;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.*;
import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
@ -72,7 +73,7 @@ public class GitBridgeServer {
swapStore,
snapshotApi
);
jettyServer = new Server(port);
jettyServer = new Server();
configureJettyServer(config, repoStore, snapshotApi);
apiBaseURL = config.getAPIBaseURL();
SnapshotAPIRequest.setBaseURL(apiBaseURL);
@ -114,6 +115,12 @@ public class GitBridgeServer {
RepoStore repoStore,
SnapshotApi snapshotApi
) throws ServletException {
ServerConnector connector = new ServerConnector(this.jettyServer);
connector.setPort(config.getPort());
connector.setHost(config.getBindIp());
connector.setIdleTimeout(config.getIdleTimeout());
this.jettyServer.addConnector(connector);
HandlerCollection handlers = new HandlerList();
handlers.addHandler(initApiHandler());
handlers.addHandler(initBaseHandler());

View file

@ -1063,6 +1063,8 @@ public class WLGitBridgeIntegrationTest {
String cfgStr =
"{\n" +
" \"port\": " + port + ",\n" +
" \"bindIp\": \"127.0.0.1\",\n" +
" \"idleTimeout\": 30000,\n" +
" \"rootGitDirectory\": \"" +
wlgb.getAbsolutePath() +
"\",\n" +

View file

@ -16,6 +16,8 @@ public class ConfigTest {
public void testConstructWithOauth() {
Reader reader = new StringReader("{\n" +
" \"port\": 80,\n" +
" \"bindIp\": \"127.0.0.1\",\n" +
" \"idleTimeout\": 30000,\n" +
" \"rootGitDirectory\": \"/var/wlgb/git\",\n" +
" \"apiBaseUrl\": \"http://127.0.0.1:60000/api/v0\",\n" +
" \"postbackBaseUrl\": \"http://127.0.0.1\",\n" +
@ -42,6 +44,8 @@ public class ConfigTest {
public void testConstructWithoutOauth() {
Reader reader = new StringReader("{\n" +
" \"port\": 80,\n" +
" \"bindIp\": \"127.0.0.1\",\n" +
" \"idleTimeout\": 30000,\n" +
" \"rootGitDirectory\": \"/var/wlgb/git\",\n" +
" \"apiBaseUrl\": \"http://127.0.0.1:60000/api/v0\",\n" +
" \"postbackBaseUrl\": \"http://127.0.0.1\",\n" +
@ -62,6 +66,8 @@ public class ConfigTest {
public void asSanitised() throws Exception {
Reader reader = new StringReader("{\n" +
" \"port\": 80,\n" +
" \"bindIp\": \"127.0.0.1\",\n" +
" \"idleTimeout\": 30000,\n" +
" \"rootGitDirectory\": \"/var/wlgb/git\",\n" +
" \"apiBaseUrl\": \"http://127.0.0.1:60000/api/v0\",\n" +
" \"postbackBaseUrl\": \"http://127.0.0.1\",\n" +
@ -75,6 +81,8 @@ public class ConfigTest {
Config config = new Config(reader);
String expected = "{\n" +
" \"port\": 80,\n" +
" \"bindIp\": \"127.0.0.1\",\n" +
" \"idleTimeout\": 30000,\n" +
" \"rootGitDirectory\": \"/var/wlgb/git\",\n" +
" \"apiBaseURL\": \"http://127.0.0.1:60000/api/v0/\",\n" +
" \"postbackURL\": \"http://127.0.0.1/\",\n" +

View file

@ -53,6 +53,8 @@ public class BridgeTest {
gcJob = mock(GcJob.class);
bridge = new Bridge(
new Config(
0,
"",
0,
"",
"",