Class BindMetadataToHeaders

java.lang.Object
org.jclouds.openstack.swift.v1.binders.BindMetadataToHeaders
All Implemented Interfaces:
org.jclouds.rest.Binder
Direct Known Subclasses:
BindMetadataToHeaders.BindAccountMetadataToHeaders, BindMetadataToHeaders.BindContainerMetadataToHeaders, BindMetadataToHeaders.BindObjectMetadataToHeaders, BindMetadataToHeaders.ForRemoval

public class BindMetadataToHeaders extends Object implements org.jclouds.rest.Binder
Will lower-case header keys due to a swift implementation to return headers in a different case than sent. ex.
 >> X-Account-Meta-MyDelete1: foo
 >> X-Account-Meta-MyDelete2: bar
 
results in:
 invalid input: '<'invalid input: '<' X-Account-Meta-Mydelete1: foo
 invalid input: '<'invalid input: '<' X-Account-Meta-Mydelete2: bar
 

Note


HTTP response headers keys are known to be case-insensitive, but this practice of mixing up case will prevent metadata keys such as those in Turkish from working.
  • Constructor Details

    • BindMetadataToHeaders

      public BindMetadataToHeaders(String metadataPrefix)
  • Method Details

    • bindToRequest

      public <R extends org.jclouds.http.HttpRequest> R bindToRequest(R request, Object input)
      Specified by:
      bindToRequest in interface org.jclouds.rest.Binder
    • putMetadata

      protected void putMetadata(com.google.common.collect.ImmutableMultimap.Builder<String,String> headers, String key, String value)
    • toHeaders

      public com.google.common.collect.ImmutableMultimap<String,String> toHeaders(Map<String,String> metadata)