title: Set Expires header for an existing S3 object using AWS Java SDK
body: <p>I'm updating existing objects in an Amazon S3 bucket to set some metadata.  I'd like to set the HTTP <code>Expires</code> header for each object to better handle HTTP/1.0 clients.</p>
  
  <p>We're using the <a href="http://aws.amazon.com/sdkforjava/" rel="noreferrer">AWS Java SDK</a>, which allows for metadata changes to an object without re-uploading the object content.  We do this using <a href="http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/CopyObjectRequest.html" rel="noreferrer">CopyObjectRequest</a> to copy an object to itself.  The <a href="http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/ObjectMetadata.html" rel="noreferrer">ObjectMetadata</a> class allows us to set the <code>Cache-Control</code>, <code>Content-Type</code> and several other headers.  But not the <code>Expires</code> header.</p>
  
  <p>I know that S3 stores and serves the <code>Expires</code> header for objects PUT using the REST API. Is there a way to do this from the Java SDK?</p>
  
  <p><strong>Updated to indicate that we are using</strong> <code>CopyObjectRequest</code></p>