code: @Override
      public RequestCtx handleRequest(HttpServletRequest request,
                                      HttpServletResponse response)
              throws IOException, ServletException {
          if (logger.isDebugEnabled()) {
              logger.debug("{}/handleRequest!", this.getClass().getName());
          }
  
          String asOfDateTime = request.getParameter("asOfDateTime");
          if (!isDate(asOfDateTime)) {
              asOfDateTime = null;
          }
  
          RequestCtx req = null;
          Map<URI, AttributeValue> actions = new HashMap<URI, AttributeValue>();
          Map<URI, AttributeValue> resAttr;
          try {
              String[] parts = getPathParts(request);
              resAttr = ResourceAttributes.getResources(parts);
              if (asOfDateTime != null && !asOfDateTime.isEmpty()) {
                  resAttr.put(Constants.DATASTREAM.AS_OF_DATETIME.getURI(),
                              DateTimeAttribute.getInstance(asOfDateTime));
              }
  
              actions.put(Constants.ACTION.ID.getURI(),
                          Constants.ACTION.LIST_DATASTREAMS
                                  .getStringAttribute());
              actions.put(Constants.ACTION.API.getURI(),
                          Constants.ACTION.APIA.getStringAttribute());
  
              req =
                      getContextHandler().buildRequest(getSubjects(request),
                                                       actions,
                                                       resAttr,
                                                       getEnvironment(request));
  
              String pid = resAttr.get(Constants.OBJECT.PID.getURI()).toString();
              LogUtil.statLog(request.getRemoteUser(),
                              Constants.ACTION.LIST_DATASTREAMS.uri,
                              pid,
                              null);
          } catch (Exception e) {
              logger.error(e.getMessage(), e);
              throw new ServletException(e.getMessage(), e);
          }
  
          return req;
      }
docs: /*
  (non-Javadoc)
  @see
  org.fcrepo.server.security.xacml.pep.rest.filters.RESTFilter#handleRequest(javax.servlet
  .http.HttpServletRequest, javax.servlet.http.HttpServletResponse)