docs: @RequestMapping(value = "/v4-3/portlet/{fname}.html", method = RequestMethod.GET)
      public @ResponseBody String getRenderedPortlet(
              HttpServletRequest req, HttpServletResponse res, @PathVariable String fname) {
  
          // Does the portlet exist in the registry?
          final IPortletDefinition portletDef =
                  portletDefinitionRegistry.getPortletDefinitionByFname(fname);
          if (portletDef == null) {
              res.setStatus(HttpServletResponse.SC_NOT_FOUND);
              return "Portlet not found";
          }
  
          // Is the user permitted to access it?
          final IAuthorizationPrincipal ap = getAuthorizationPrincipal(req);
          if (!ap.canRender(portletDef.getPortletDefinitionId().getStringId())) {
              res.setStatus(HttpServletResponse.SC_FORBIDDEN);
              return "Access denied";
          }
  
          // Proceed...
          try {
  
              final PortalHttpServletFactoryService.RequestAndResponseWrapper wrapper =
                      servletFactoryService.createRequestAndResponseWrapper(req, res);
  
              final IPortletWindow portletWindow =
                      portletWindowRegistry.getOrCreateDefaultPortletWindow(
                              wrapper.getRequest(), portletDef.getPortletDefinitionId());
              final String rslt =
                      portletExecutionManager.getPortletOutput(
                              portletWindow.getPortletWindowId(),
                              wrapper.getRequest(),
                              wrapper.getResponse());
              return rslt;
          } catch (Exception e) {
              logger.error("Failed to render the requested portlet '{}'", fname, e);
              res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
              return "Internal error";
          }
      }