src/main/java/com/authlete/jaxrs/BaseJwksEndpoint.java
public Response handle(AuthleteApi api)
    {
        try
        {
            // Create a handler.
            JwksRequestHandler handler = new JwksRequestHandler(api);

            // Delegate the task to the handler.
            return handler.handle();
        }
        catch (WebApplicationException e)
        {
            // An error occurred in the handler.
            onError(e);

            // Convert the error to a Response.
            return e.getResponse();
        }
    }
public Response handle(AuthleteApi api)
    {
        try
        {
            // Create a handler.
            JwksRequestHandler handler = new JwksRequestHandler(api);

            // Delegate the task to the handler.
            return handler.handle();
        }
        catch (WebApplicationException e)
        {
            // An error occurred in the handler.
            onError(e);

            // Convert the error to a Response.
            return e.getResponse();
        }
    }
Handle a request for a JWK Set document.

<p>
This method internally creates a {@link JwksRequestHandler} instance and
calls its {@link JwksRequestHandler#handle()} method. Then, this method
uses the value returned from the {@code handle()} method as a response
from this method.
</p>

<p>
When {@code JwksRequestHandler.handle()} method raises a {@link
WebApplicationException}, this method calls {@link #onError(WebApplicationException)
onError()} method with the exception. The default implementation of {@code onError()}
calls {@code printStackTrace()} of the exception and does nothing else. You
can override the method as necessary. After calling {@code onError()} method,
this method calls {@code getResponse()} method of the exception and uses the
returned value as a response from this method.
</p>

@param api
An implementation of {@link AuthleteApi}.

@return
A response that should be returned to the client application.