code: @Override
      public void doGet(HttpServletRequest request, HttpServletResponse response)
              throws ServletException, IOException {
          boolean xml = false;
  
          logger.debug("Got request: {}?{}", request.getRequestURL(),
                  request.getQueryString());
  
          // Check for xml parameter.
          for (Enumeration<?> e = request.getParameterNames(); e.hasMoreElements();) {
              String name = URLDecoder.decode((String) e.nextElement(), "UTF-8");
              if (name.equalsIgnoreCase("xml")) {
                  xml = Boolean.parseBoolean(request.getParameter(name));
              }
          }
          Context context =
                  ReadOnlyContext.getContext(Constants.HTTP_REQUEST.REST.uri,
                                             request);
          try {
              describeRepository(context, xml, response);
          } catch (AuthzException ae) {
              throw RootException.getServletException(ae,
                                                      request,
                                                      ACTION_LABEL,
                                                      EMPTY_STRING_ARRAY);
          } catch (Throwable th) {
              throw new InternalError500Exception("",
                                                  th,
                                                  request,
                                                  ACTION_LABEL,
                                                  "",
                                                  EMPTY_STRING_ARRAY);
          }
  
      }
docs: <p>
  Process Fedora Access Request. Parse and validate the servlet input
  parameters and then execute the specified request.
  </p>
  
  @param request
  The servlet request.
  @param response
  servlet The servlet response.
  @throws ServletException
  If an error occurs that effects the servlet's basic operation.
  @throws IOException
  If an error occurrs with an input or output operation.