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;
}