docs: @Override
      public void doGet(HttpServletRequest request,
              HttpServletResponse response)
              throws IOException, ServletException {
          super.doGet(request, response);
          //jsonp is specified when response is expected to go to javascript function.
          String jsonp = request.getParameter(HTTPClientInterface.JSONP);
          AuthenticationResult authResult = null;
          String target = request.getPathInfo();
          if (target == null) target = "/";
          try {
              response.setContentType(HTTPAdminListener.JSON_CONTENT_TYPE);
              if (!HTTPClientInterface.validateJSONP(jsonp, (Request )request, response)) {
                  return;
              }
              response.setStatus(HttpServletResponse.SC_OK);
              authResult = authenticate(request);
              if (!authResult.isAuthenticated()) {
                  response.getWriter().print(buildClientResponse(jsonp, ClientResponse.UNEXPECTED_FAILURE, authResult.m_message));
                  response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
                  return;
              }
  
              if (!target.equals("/")) {
                  response.getWriter().print(buildClientResponse(jsonp, ClientResponse.UNEXPECTED_FAILURE, "Resource not found"));
                  response.setStatus(HttpServletResponse.SC_NOT_FOUND);
                  return;
              }
              if (jsonp != null) {
                  response.getWriter().write(jsonp + "(");
              }
              m_mapper.writeValue(response.getWriter(), new Profile(authResult.m_user, authResult.m_perms));
              if (jsonp != null) {
                  response.getWriter().write(")");
              }
          } catch (Exception ex) {
              rateLimitedLogWarn("Not servicing url: %s Details: ", target, ex.getMessage());
              response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
              response.getWriter().print(buildClientResponse(null, ClientResponse.UNEXPECTED_FAILURE, Throwables.getStackTraceAsString(ex)));
          }
      }