docs: def _build_put_headers(self, robj, if_none_match=False):
          """Build the headers for a POST/PUT request."""
  
          # Construct the headers...
          if robj.charset is not None:
              content_type = ('%s; charset="%s"' %
                              (robj.content_type, robj.charset))
          else:
              content_type = robj.content_type
  
          headers = MultiDict({'Content-Type': content_type,
                               'X-Riak-ClientId': self._client_id})
  
          # Add the vclock if it exists...
          if robj.vclock is not None:
              headers['X-Riak-Vclock'] = robj.vclock.encode('base64')
  
          # Create the header from metadata
          self._add_links_for_riak_object(robj, headers)
  
          for key in robj.usermeta.keys():
              headers['X-Riak-Meta-%s' % key] = robj.usermeta[key]
  
          for field, value in robj.indexes:
              key = 'X-Riak-Index-%s' % field
              if key in headers:
                  headers[key] += ", " + str(value)
              else:
                  headers[key] = str(value)
  
          if if_none_match:
              headers['If-None-Match'] = '*'
  
          return headers