public Response get()

in hadoop-ozone/httpfsgateway/src/main/java/org/apache/ozone/fs/http/server/HttpFSServer.java [236:331]


  public Response get(@PathParam("path") String path,
                      @Context UriInfo uriInfo,
                      @QueryParam(OperationParam.NAME) OperationParam op,
                      @Context HttpServletRequest request)
      throws IOException, FileSystemAccessException,
      UnsupportedOperationException {
    // Restrict access to only GETFILESTATUS and LISTSTATUS in write-only mode
    if ((op.value() != HttpFSConstants.Operation.GETFILESTATUS) &&
            (op.value() != HttpFSConstants.Operation.LISTSTATUS) &&
            accessMode == AccessMode.WRITEONLY) {
      return Response.status(Response.Status.FORBIDDEN).build();
    }
    UserGroupInformation user = HttpUserGroupInformation.get();
    final Parameters params = getParams(request);
    Response response;
    path = makeAbsolute(path);
    MDC.put(HttpFSConstants.OP_PARAM, op.value().name());
    MDC.put("hostname", request.getRemoteAddr());
    switch (op.value()) {
    case OPEN:
      response = handleOpen(path, uriInfo, params, user);
      break;
    case GETFILESTATUS:
      response = handleGetFileStatus(path, user);
      break;
    case LISTSTATUS:
      response = handleListStatus(path, params, user);
      break;
    case GETHOMEDIRECTORY:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support GETHOMEDIRECTORY");
      //response = handleGetHomeDir(path, op, user);
      //break;
    case INSTRUMENTATION:
      response = handleInstrumentation(path, op, user);
      break;
    case GETCONTENTSUMMARY:
      response = handleGetContentSummary(path, user);
      break;
    case GETQUOTAUSAGE:
      response = handleGetQuotaUsage(path, user);
      break;
    case GETFILECHECKSUM:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support GETFILECHECKSUM");
      // response = handleGetFileCheckSum(path, uriInfo, params, user);
      // break;
    case GETFILEBLOCKLOCATIONS:
      response = Response.status(Response.Status.BAD_REQUEST).build();
      break;
    case GETACLSTATUS:
      response = handleGetACLStatus(path, user);
      break;
    case GETXATTRS:
      response = handleGetXAttrs(path, params, user);
      break;
    case LISTXATTRS:
      response = handleListXAttrs(path, user);
      break;
    case LISTSTATUS_BATCH:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support LISTSTATUS_BATCH");
      //response = handleListStatusBatch(path, params, user);
      //break;
    case GETTRASHROOT:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support GETTRASHROOT");
      //response = handleGetTrashRoot(path, user);
      //break;
    case GETALLSTORAGEPOLICY:
      response = handleGetAllStoragePolicy(path, user);
      break;
    case GETSTORAGEPOLICY:
      response = handleGetStoragePolicy(path, user);
      break;
    case GETSNAPSHOTDIFF:
      response = handleGetSnapshotDiff(path, params, user);
      break;
    case GETSNAPSHOTTABLEDIRECTORYLIST:
      response = handleGetSnaphotTableDirectoryList(user);
      break;
    case GETSERVERDEFAULTS:
      response = handleGetServerDefaults(user);
      break;
    case CHECKACCESS:
      response = handleCheckAccess(path, params, user);
      break;
    case GETECPOLICY:
      response = handleGetECPolicy(path, user);
      break;
    default:
      throw new IOException(
          MessageFormat.format("Invalid HTTP GET operation [{0}]", op.value()));
    }
    return response;
  }