This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new d7a823f06bb HDDS-14208. Create constants for query parameter names 
(#9525)
d7a823f06bb is described below

commit d7a823f06bbaec78334e87187767b98de513302a
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Fri Dec 19 08:13:42 2025 +0100

    HDDS-14208. Create constants for query parameter names (#9525)
---
 .../hadoop/ozone/s3/endpoint/BucketEndpoint.java   |  51 +++++-----
 .../hadoop/ozone/s3/endpoint/ObjectEndpoint.java   | 107 +++++++++++----------
 .../ozone/s3/endpoint/ObjectEndpointStreaming.java |   3 +-
 .../org/apache/hadoop/ozone/s3/util/S3Consts.java  |  26 +++++
 4 files changed, 112 insertions(+), 75 deletions(-)

diff --git 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java
 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java
index 439aa27d1d0..db5d12e52f6 100644
--- 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java
+++ 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java
@@ -75,6 +75,7 @@
 import org.apache.hadoop.ozone.s3.exception.OS3Exception;
 import org.apache.hadoop.ozone.s3.exception.S3ErrorTable;
 import org.apache.hadoop.ozone.s3.util.ContinueToken;
+import org.apache.hadoop.ozone.s3.util.S3Consts.QueryParams;
 import org.apache.hadoop.ozone.s3.util.S3StorageType;
 import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
 import org.apache.hadoop.util.Time;
@@ -88,6 +89,8 @@
 @Path("/{bucket}")
 public class BucketEndpoint extends EndpointBase {
 
+  private static final String BUCKET = "bucket";
+
   private static final Logger LOG =
       LoggerFactory.getLogger(BucketEndpoint.class);
 
@@ -103,19 +106,20 @@ public class BucketEndpoint extends EndpointBase {
   @GET
   @SuppressWarnings({"parameternumber", "methodlength"})
   public Response get(
-      @PathParam("bucket") String bucketName,
-      @QueryParam("delimiter") String delimiter,
-      @QueryParam("encoding-type") String encodingType,
-      @QueryParam("marker") String marker,
-      @DefaultValue("1000") @QueryParam("max-keys") int maxKeys,
-      @QueryParam("prefix") String prefix,
-      @QueryParam("continuation-token") String continueToken,
-      @QueryParam("start-after") String startAfter,
-      @QueryParam("uploads") String uploads,
-      @QueryParam("acl") String aclMarker,
-      @QueryParam("key-marker") String keyMarker,
-      @QueryParam("upload-id-marker") String uploadIdMarker,
-      @DefaultValue("1000") @QueryParam("max-uploads") int maxUploads) throws 
OS3Exception, IOException {
+      @PathParam(BUCKET) String bucketName,
+      @QueryParam(QueryParams.DELIMITER) String delimiter,
+      @QueryParam(QueryParams.ENCODING_TYPE) String encodingType,
+      @QueryParam(QueryParams.MARKER) String marker,
+      @DefaultValue("1000") @QueryParam(QueryParams.MAX_KEYS) int maxKeys,
+      @QueryParam(QueryParams.PREFIX) String prefix,
+      @QueryParam(QueryParams.CONTINUATION_TOKEN) String continueToken,
+      @QueryParam(QueryParams.START_AFTER) String startAfter,
+      @QueryParam(QueryParams.UPLOADS) String uploads,
+      @QueryParam(QueryParams.ACL) String aclMarker,
+      @QueryParam(QueryParams.KEY_MARKER) String keyMarker,
+      @QueryParam(QueryParams.UPLOAD_ID_MARKER) String uploadIdMarker,
+      @DefaultValue("1000") @QueryParam(QueryParams.MAX_UPLOADS) int maxUploads
+  ) throws OS3Exception, IOException {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.GET_BUCKET;
     PerformanceStringBuilder perf = new PerformanceStringBuilder();
@@ -301,9 +305,11 @@ private int validateMaxKeys(int maxKeys) throws 
OS3Exception {
   }
 
   @PUT
-  public Response put(@PathParam("bucket") String bucketName,
-                      @QueryParam("acl") String aclMarker,
-                      InputStream body) throws IOException, OS3Exception {
+  public Response put(
+      @PathParam(BUCKET) String bucketName,
+      @QueryParam(QueryParams.ACL) String aclMarker,
+      InputStream body
+  ) throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.CREATE_BUCKET;
 
@@ -397,7 +403,7 @@ public Response listMultipartUploads(
    * for more details.
    */
   @HEAD
-  public Response head(@PathParam("bucket") String bucketName)
+  public Response head(@PathParam(BUCKET) String bucketName)
       throws OS3Exception, IOException {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.HEAD_BUCKET;
@@ -420,7 +426,7 @@ public Response head(@PathParam("bucket") String bucketName)
    * for more details.
    */
   @DELETE
-  public Response delete(@PathParam("bucket") String bucketName)
+  public Response delete(@PathParam(BUCKET) String bucketName)
       throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.DELETE_BUCKET;
@@ -464,10 +470,11 @@ public Response delete(@PathParam("bucket") String 
bucketName)
    */
   @POST
   @Produces(MediaType.APPLICATION_XML)
-  public MultiDeleteResponse multiDelete(@PathParam("bucket") String 
bucketName,
-                                         @QueryParam("delete") String delete,
-                                         MultiDeleteRequest request)
-      throws OS3Exception, IOException {
+  public MultiDeleteResponse multiDelete(
+      @PathParam(BUCKET) String bucketName,
+      @QueryParam(QueryParams.DELETE) String delete,
+      MultiDeleteRequest request
+  ) throws OS3Exception, IOException {
     S3GAction s3GAction = S3GAction.MULTI_DELETE;
 
     OzoneBucket bucket = getBucket(bucketName);
diff --git 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpoint.java
 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpoint.java
index 3154ad74d01..c6a2b653909 100644
--- 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpoint.java
+++ 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpoint.java
@@ -17,9 +17,6 @@
 
 package org.apache.hadoop.ozone.s3.endpoint;
 
-import static javax.ws.rs.core.HttpHeaders.CONTENT_LENGTH;
-import static javax.ws.rs.core.HttpHeaders.ETAG;
-import static javax.ws.rs.core.HttpHeaders.LAST_MODIFIED;
 import static 
org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType.EC;
 import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_CHUNK_SIZE_DEFAULT;
 import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_CHUNK_SIZE_KEY;
@@ -94,6 +91,7 @@
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
@@ -135,6 +133,7 @@
 import org.apache.hadoop.ozone.s3.util.RangeHeader;
 import org.apache.hadoop.ozone.s3.util.RangeHeaderParserUtil;
 import org.apache.hadoop.ozone.s3.util.S3Consts;
+import org.apache.hadoop.ozone.s3.util.S3Consts.QueryParams;
 import org.apache.hadoop.ozone.s3.util.S3StorageType;
 import org.apache.hadoop.ozone.s3.util.S3Utils;
 import org.apache.hadoop.ozone.web.utils.OzoneUtils;
@@ -149,6 +148,9 @@
 @Path("/{bucket}/{path:.+}")
 public class ObjectEndpoint extends EndpointBase {
 
+  private static final String BUCKET = "bucket";
+  private static final String PATH = "path";
+
   private static final Logger LOG =
       LoggerFactory.getLogger(ObjectEndpoint.class);
 
@@ -174,12 +176,12 @@ public class ObjectEndpoint extends EndpointBase {
 
   public ObjectEndpoint() {
     overrideQueryParameter = ImmutableMap.<String, String>builder()
-        .put("Content-Type", "response-content-type")
-        .put("Content-Language", "response-content-language")
-        .put("Expires", "response-expires")
-        .put("Cache-Control", "response-cache-control")
-        .put("Content-Disposition", "response-content-disposition")
-        .put("Content-Encoding", "response-content-encoding")
+        .put(HttpHeaders.CONTENT_TYPE, "response-content-type")
+        .put(HttpHeaders.CONTENT_LANGUAGE, "response-content-language")
+        .put(HttpHeaders.EXPIRES, "response-expires")
+        .put(HttpHeaders.CACHE_CONTROL, "response-cache-control")
+        .put(HttpHeaders.CONTENT_DISPOSITION, "response-content-disposition")
+        .put(HttpHeaders.CONTENT_ENCODING, "response-content-encoding")
         .build();
   }
 
@@ -210,13 +212,13 @@ public void init() {
   @SuppressWarnings({"checkstyle:MethodLength", "checkstyle:ParameterNumber"})
   @PUT
   public Response put(
-      @PathParam("bucket") String bucketName,
-      @PathParam("path") String keyPath,
-      @HeaderParam("Content-Length") long length,
-      @QueryParam("partNumber")  int partNumber,
-      @QueryParam("uploadId") @DefaultValue("") String uploadID,
-      @QueryParam("tagging") String taggingMarker,
-      @QueryParam("acl") String aclMarker,
+      @PathParam(BUCKET) String bucketName,
+      @PathParam(PATH) String keyPath,
+      @HeaderParam(HttpHeaders.CONTENT_LENGTH) long length,
+      @QueryParam(QueryParams.PART_NUMBER)  int partNumber,
+      @QueryParam(QueryParams.UPLOAD_ID) @DefaultValue("") String uploadID,
+      @QueryParam(QueryParams.TAGGING) String taggingMarker,
+      @QueryParam(QueryParams.ACL) String aclMarker,
       final InputStream body) throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.CREATE_KEY;
@@ -328,13 +330,13 @@ public Response put(
           eTag = DatatypeConverter.printHexBinary(
                   digestInputStream.getMessageDigest().digest())
               .toLowerCase();
-          output.getMetadata().put(ETAG, eTag);
+          output.getMetadata().put(OzoneConsts.ETAG, eTag);
         }
       }
       getMetrics().incPutKeySuccessLength(putLength);
       perf.appendSizeBytes(putLength);
       return Response.ok()
-          .header(ETAG, wrapInQuotes(eTag))
+          .header(HttpHeaders.ETAG, wrapInQuotes(eTag))
           .status(HttpStatus.SC_OK)
           .build();
     } catch (OMException ex) {
@@ -404,13 +406,13 @@ public Response put(
   @SuppressWarnings({"checkstyle:MethodLength", "checkstyle:ParameterNumber"})
   @GET
   public Response get(
-      @PathParam("bucket") String bucketName,
-      @PathParam("path") String keyPath,
-      @QueryParam("partNumber") int partNumber,
-      @QueryParam("uploadId") String uploadId,
-      @QueryParam("max-parts") @DefaultValue("1000") int maxParts,
-      @QueryParam("part-number-marker") String partNumberMarker,
-      @QueryParam("tagging") String taggingMarker)
+      @PathParam(BUCKET) String bucketName,
+      @PathParam(PATH) String keyPath,
+      @QueryParam(QueryParams.PART_NUMBER) int partNumber,
+      @QueryParam(QueryParams.UPLOAD_ID) String uploadId,
+      @QueryParam(QueryParams.MAX_PARTS) @DefaultValue("1000") int maxParts,
+      @QueryParam(QueryParams.PART_NUMBER_MARKER) String partNumberMarker,
+      @QueryParam(QueryParams.TAGGING) String taggingMarker)
       throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.GET_KEY;
@@ -471,7 +473,7 @@ public Response get(
         };
         responseBuilder = Response
             .ok(output)
-            .header(CONTENT_LENGTH, keyDetails.getDataSize());
+            .header(HttpHeaders.CONTENT_LENGTH, keyDetails.getDataSize());
 
       } else {
 
@@ -495,7 +497,7 @@ public Response get(
         responseBuilder = Response
             .status(Status.PARTIAL_CONTENT)
             .entity(output)
-            .header(CONTENT_LENGTH, copyLength);
+            .header(HttpHeaders.CONTENT_LENGTH, copyLength);
 
         String contentRangeVal = RANGE_HEADER_SUPPORTED_UNIT + " " +
             rangeHeader.getStartOffset() + "-" + rangeHeader.getEndOffset() +
@@ -506,9 +508,9 @@ public Response get(
       responseBuilder
           .header(ACCEPT_RANGE_HEADER, RANGE_HEADER_SUPPORTED_UNIT);
 
-      String eTag = keyDetails.getMetadata().get(ETAG);
+      String eTag = keyDetails.getMetadata().get(OzoneConsts.ETAG);
       if (eTag != null) {
-        responseBuilder.header(ETAG, wrapInQuotes(eTag));
+        responseBuilder.header(HttpHeaders.ETAG, wrapInQuotes(eTag));
         String partsCount = extractPartsCount(eTag);
         if (partsCount != null) {
           responseBuilder.header(MP_PARTS_COUNT, partsCount);
@@ -575,7 +577,7 @@ static void addLastModifiedDate(
         .atZone(ZoneId.of(OzoneConsts.OZONE_TIME_ZONE));
 
     responseBuilder
-        .header(LAST_MODIFIED,
+        .header(HttpHeaders.LAST_MODIFIED,
             RFC1123Util.FORMAT.format(lastModificationTime));
   }
 
@@ -598,8 +600,8 @@ static void addTagCountIfAny(
    */
   @HEAD
   public Response head(
-      @PathParam("bucket") String bucketName,
-      @PathParam("path") String keyPath) throws IOException, OS3Exception {
+      @PathParam(BUCKET) String bucketName,
+      @PathParam(PATH) String keyPath) throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.HEAD_KEY;
 
@@ -636,16 +638,16 @@ public Response head(
         S3StorageType.fromReplicationConfig(key.getReplicationConfig());
 
     ResponseBuilder response = Response.ok().status(HttpStatus.SC_OK)
-        .header("Content-Length", key.getDataSize())
-        .header("Content-Type", "binary/octet-stream")
+        .header(HttpHeaders.CONTENT_LENGTH, key.getDataSize())
+        .header(HttpHeaders.CONTENT_TYPE, "binary/octet-stream")
         .header(STORAGE_CLASS_HEADER, s3StorageType.toString());
 
-    String eTag = key.getMetadata().get(ETAG);
+    String eTag = key.getMetadata().get(OzoneConsts.ETAG);
     if (eTag != null) {
       // Should not return ETag header if the ETag is not set
       // doing so will result in "null" string being returned instead
       // which breaks some AWS SDK implementation
-      response.header(ETAG, wrapInQuotes(eTag));
+      response.header(HttpHeaders.ETAG, wrapInQuotes(eTag));
       String partsCount = extractPartsCount(eTag);
       if (partsCount != null) {
         response.header(MP_PARTS_COUNT, partsCount);
@@ -717,10 +719,10 @@ private Response abortMultipartUpload(OzoneVolume volume, 
String bucket,
   @DELETE
   @SuppressWarnings("emptyblock")
   public Response delete(
-      @PathParam("bucket") String bucketName,
-      @PathParam("path") String keyPath,
-      @QueryParam("uploadId") @DefaultValue("") String uploadId,
-      @QueryParam("tagging") String taggingMarker) throws
+      @PathParam(BUCKET) String bucketName,
+      @PathParam(PATH) String keyPath,
+      @QueryParam(QueryParams.UPLOAD_ID) @DefaultValue("") String uploadId,
+      @QueryParam(QueryParams.TAGGING) String taggingMarker) throws
       IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
     S3GAction s3GAction = S3GAction.DELETE_KEY;
@@ -794,8 +796,8 @@ public Response delete(
   @Produces(MediaType.APPLICATION_XML)
   @Consumes(HeaderPreprocessor.MULTIPART_UPLOAD_MARKER)
   public Response initializeMultipartUpload(
-      @PathParam("bucket") String bucket,
-      @PathParam("path") String key
+      @PathParam(BUCKET) String bucket,
+      @PathParam(PATH) String key
   )
       throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
@@ -858,9 +860,10 @@ private ReplicationConfig getReplicationConfig(OzoneBucket 
ozoneBucket,
    */
   @POST
   @Produces(MediaType.APPLICATION_XML)
-  public Response completeMultipartUpload(@PathParam("bucket") String bucket,
-      @PathParam("path") String key,
-      @QueryParam("uploadId") @DefaultValue("") String uploadID,
+  public Response completeMultipartUpload(
+      @PathParam(BUCKET) String bucket,
+      @PathParam(PATH) String key,
+      @QueryParam(QueryParams.UPLOAD_ID) @DefaultValue("") String uploadID,
       CompleteMultipartUploadRequest multipartUploadRequest)
       throws IOException, OS3Exception {
     long startNanos = Time.monotonicNowNanos();
@@ -1025,9 +1028,9 @@ private Response createMultipartKey(OzoneVolume volume, 
OzoneBucket ozoneBucket,
                 new byte[getIOBufferSize(length)]);
             ozoneOutputStream.getMetadata()
                 .putAll(sourceKeyDetails.getMetadata());
-            String raw = ozoneOutputStream.getMetadata().get(ETAG);
+            String raw = ozoneOutputStream.getMetadata().get(OzoneConsts.ETAG);
             if (raw != null) {
-              ozoneOutputStream.getMetadata().put(ETAG, stripQuotes(raw));
+              ozoneOutputStream.getMetadata().put(OzoneConsts.ETAG, 
stripQuotes(raw));
             }
             outputStream = ozoneOutputStream;
           }
@@ -1045,7 +1048,7 @@ private Response createMultipartKey(OzoneVolume volume, 
OzoneBucket ozoneBucket,
               new byte[getIOBufferSize(length)]);
           byte[] digest = digestInputStream.getMessageDigest().digest();
           ozoneOutputStream.getMetadata()
-              .put(ETAG, 
DatatypeConverter.printHexBinary(digest).toLowerCase());
+              .put(OzoneConsts.ETAG, 
DatatypeConverter.printHexBinary(digest).toLowerCase());
           outputStream = ozoneOutputStream;
         }
         getMetrics().incPutKeySuccessLength(putLength);
@@ -1069,7 +1072,7 @@ private Response createMultipartKey(OzoneVolume volume, 
OzoneBucket ozoneBucket,
         return Response.ok(new CopyPartResult(eTag)).build();
       } else {
         getMetrics().updateCreateMultipartKeySuccessStats(startNanos);
-        return Response.ok().header(ETAG, eTag).build();
+        return Response.ok().header(HttpHeaders.ETAG, eTag).build();
       }
 
     } catch (OMException ex) {
@@ -1189,7 +1192,7 @@ void copy(OzoneVolume volume, DigestInputStream src, long 
srcKeyLen,
         perf.appendMetaLatencyNanos(metadataLatencyNs);
         copyLength = IOUtils.copyLarge(src, dest, 0, srcKeyLen, new 
byte[getIOBufferSize(srcKeyLen)]);
         String eTag = 
DatatypeConverter.printHexBinary(src.getMessageDigest().digest()).toLowerCase();
-        dest.getMetadata().put(ETAG, eTag);
+        dest.getMetadata().put(OzoneConsts.ETAG, eTag);
       }
     }
     getMetrics().incCopyObjectSuccessLength(copyLength);
@@ -1236,7 +1239,7 @@ private CopyObjectResponse copyObject(OzoneVolume volume,
           // still does not support this just returning dummy response
           // for now
           CopyObjectResponse copyObjectResponse = new CopyObjectResponse();
-          
copyObjectResponse.setETag(wrapInQuotes(sourceKeyDetails.getMetadata().get(ETAG)));
+          
copyObjectResponse.setETag(wrapInQuotes(sourceKeyDetails.getMetadata().get(OzoneConsts.ETAG)));
           copyObjectResponse.setLastModified(Instant.ofEpochMilli(
               Time.now()));
           return copyObjectResponse;
@@ -1291,7 +1294,7 @@ private CopyObjectResponse copyObject(OzoneVolume volume,
 
       getMetrics().updateCopyObjectSuccessStats(startNanos);
       CopyObjectResponse copyObjectResponse = new CopyObjectResponse();
-      
copyObjectResponse.setETag(wrapInQuotes(destKeyDetails.getMetadata().get(ETAG)));
+      
copyObjectResponse.setETag(wrapInQuotes(destKeyDetails.getMetadata().get(OzoneConsts.ETAG)));
       copyObjectResponse.setLastModified(destKeyDetails.getModificationTime());
       return copyObjectResponse;
     } catch (OMException ex) {
diff --git 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpointStreaming.java
 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpointStreaming.java
index 647aafe839c..186719c2b78 100644
--- 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpointStreaming.java
+++ 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpointStreaming.java
@@ -27,6 +27,7 @@
 import java.nio.ByteBuffer;
 import java.security.DigestInputStream;
 import java.util.Map;
+import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
 import javax.xml.bind.DatatypeConverter;
 import org.apache.commons.lang3.tuple.Pair;
@@ -191,7 +192,7 @@ public static Response createMultipartKey(OzoneBucket 
ozoneBucket, String key,
       throw ex;
     }
     return Response.ok()
-        .header(OzoneConsts.ETAG, wrapInQuotes(eTag))
+        .header(HttpHeaders.ETAG, wrapInQuotes(eTag))
         .build();
   }
 }
diff --git 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/util/S3Consts.java
 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/util/S3Consts.java
index f4101375503..04038bb81ce 100644
--- 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/util/S3Consts.java
+++ 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/util/S3Consts.java
@@ -109,4 +109,30 @@ public enum CopyDirective {
     REPLACE
   }
 
+  /** Constants for query parameters. */
+  public static final class QueryParams {
+    public static final String ACL = "acl";
+    public static final String CONTINUATION_TOKEN = "continuation-token";
+    public static final String DELETE = "delete";
+    public static final String DELIMITER = "delimiter";
+    public static final String ENCODING_TYPE = "encoding-type";
+    public static final String KEY_MARKER = "key-marker";
+    public static final String MARKER = "marker";
+    public static final String MAX_KEYS = "max-keys";
+    public static final String MAX_PARTS = "max-parts";
+    public static final String MAX_UPLOADS = "max-uploads";
+    public static final String PART_NUMBER = "partNumber";
+    public static final String PART_NUMBER_MARKER = "part-number-marker";
+    public static final String PREFIX = "prefix";
+    public static final String START_AFTER = "start-after";
+    public static final String TAGGING = "tagging";
+    public static final String UPLOAD_ID = "uploadId";
+    public static final String UPLOAD_ID_MARKER = "upload-id-marker";
+    public static final String UPLOADS = "uploads";
+
+    private QueryParams() {
+      // no instances
+    }
+  }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to