public Response put()

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


  public Response put(InputStream is,
                       @Context UriInfo uriInfo,
                       @PathParam("path") String path,
                       @QueryParam(OperationParam.NAME) OperationParam op,
                       @Context HttpServletRequest request)
      throws IOException, FileSystemAccessException {
    // Do not allow PUT commands in read-only mode
    if (accessMode == AccessMode.READONLY) {
      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 CREATE:
      response = handleCreate(is, uriInfo, path, params, user);
      break;
    case ALLOWSNAPSHOT:
      response = handleAllowSnapshot(path, user);
      break;
    case DISALLOWSNAPSHOT:
      response = handleDisallowSnapshot(path, user);
      break;
    case CREATESNAPSHOT:
      response = handleCreateSnapshot(path, params, user);
      break;
    case SETXATTR:
      response = handleSetXAttr(path, params, user);
      break;
    case RENAMESNAPSHOT:
      response = handleRenameSnapshot(path, params, user);
      break;
    case REMOVEXATTR:
      response = handleRemoveXAttr(path, params, user);
      break;
    case MKDIRS:
      response = handleMkdirs(path, params, user);
      break;
    case RENAME:
      response = handleRename(path, params, user);
      break;
    case SETOWNER:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support SETOWNER");
      //response = handleSetOwner(path, params, user);
      //break;
    case SETPERMISSION:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support SETPERMISSION");
      //response = handleSetPermission(path, params, user);
      //break;
    case SETREPLICATION:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support SETREPLICATION");
      //response = handleSetReplication(path, params, user);
      //break;
    case SETTIMES:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support SETTIMES");
      //response = handleSetTimes(path, params, user);
      //break;
    case SETACL:
      response = handleSetACL(path, params, user);
      break;
    case REMOVEACL:
      response = handleRemoveACL(path, user);
      break;
    case MODIFYACLENTRIES:
      response = handleModifyACLEntries(path, params, user);
      break;
    case REMOVEACLENTRIES:
      response = handleRemoveACLEntries(path, params, user);
      break;
    case REMOVEDEFAULTACL:
      response = handleRemoveDefaultACL(path, user);
      break;
    case SETSTORAGEPOLICY:
      response = handleSetStoragePolicy(path, params, user);
      break;
    case SETECPOLICY:
      response = handleSetECPolicy(path, params, user);
      break;
    case SATISFYSTORAGEPOLICY:
      throw new UnsupportedOperationException(getClass().getSimpleName()
          + " doesn't support SATISFYSTORAGEPOLICY");
    default:
      throw new IOException(
        MessageFormat.format("Invalid HTTP PUT operation [{0}]",
                             op.value()));
    }
    return response;
  }