diff --git a/WORKSPACE b/WORKSPACE
index d56171b..975f14e 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "15eae2ee5cd524a204bd62c3d59bfd0ce86916ec",
+    commit = "fc1bfdf008c4b07e7cc4214fdacf25560276f9c4",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/readonly/ReadOnlyEndpoint.java b/src/main/java/com/googlesource/gerrit/plugins/readonly/ReadOnlyEndpoint.java
index 2482cab..6a4b916 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/readonly/ReadOnlyEndpoint.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/readonly/ReadOnlyEndpoint.java
@@ -40,8 +40,8 @@
     }
 
     @Override
-    public String apply(ConfigResource resource) {
-      return state.isReadOnly() ? "on" : "off";
+    public Response<String> apply(ConfigResource resource) {
+      return Response.ok(state.isReadOnly() ? "on" : "off");
     }
   }
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/readonly/AbstractReadOnlyTest.java b/src/test/java/com/googlesource/gerrit/plugins/readonly/AbstractReadOnlyTest.java
index 56be07a..b14bcce 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/readonly/AbstractReadOnlyTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/readonly/AbstractReadOnlyTest.java
@@ -15,6 +15,7 @@
 package com.googlesource.gerrit.plugins.readonly;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.gerrit.testing.GerritJUnit.assertThrows;
 import static org.apache.http.HttpStatus.SC_SERVICE_UNAVAILABLE;
 
 import com.google.gerrit.acceptance.GitUtil;
@@ -146,12 +147,9 @@
     setReadOnly(true);
 
     // Push should fail
-    try {
-      pushTo("refs/for/master");
-      fail("expected TransportException");
-    } catch (TransportException e) {
-      assertThat(e).hasMessageThat().contains(expectedMessage);
-    }
+    TransportException thrown =
+        assertThrows(TransportException.class, () -> pushTo("refs/for/master"));
+    assertThat(thrown).hasMessageThat().contains(expectedMessage);
 
     // Disable read-only
     setReadOnly(false);
