code: @Override
    public Response intercept(Chain chain) throws IOException {
      Request request = chain.request();
      String authValue;
      try {
        authValue = "Negotiate " + buildAuthorizationHeader("HTTP/" + host);
      } catch (Exception e) {
        throw new FailedRequestException(e.getMessage(), e);
      }
      Request authenticatedRequest = request.newBuilder().header("Authorization", authValue).build();
      return chain.proceed(authenticatedRequest);
    }
docs: /*
  The server principal name which we pass as an argument to
  buildAuthorizationHeader method would always start with 'HTTP/' because we
  create the principal name for the Marklogic server starting with 'HTTP/'
  followed by the host name as mentioned in the <a href=
  "http://docs.marklogic.com/guide/security/external-auth#id_13835"> External
  Security Guide</a>.