Merge branch 'stable-3.0' into stable-3.1

* stable-3.0:
  Http: fix generation of the custom readonly message
  Upgrade bazlets to latest stable-2.16 to build with 2.16.18 API
  Bump Bazel version to 3.1.0

Change-Id: Ie36732f7dab5a111b89b661eeed1f8bc94bdc46e
diff --git a/WORKSPACE b/WORKSPACE
index c1fbb1c..975f14e 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "97eef86854b0fb68b9287831f3075b6f6218ff41",
+    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);