'Add a response to the collection.
:param get: An instance of
:class:`~swift.proxy.controllers.base.ResumingGetter`
:param parts_iter: An iterator over response body parts
:raises ValueError: if the response etag or status code values do not
match any values previously received for the same timestamp'

def add_response(self, get, parts_iter):

    headers = get.last_headers
    t_data_file = headers.get('X-Backend-Data-Timestamp')
    t_obj = headers.get('X-Backend-Timestamp', headers.get('X-Timestamp'))
    self._get_bucket((t_data_file or t_obj)).add_response(get, parts_iter)
    frag_sets = (safe_json_loads(headers.get('X-Backend-Fragments')) or {})
    for (t_frag, frag_set) in frag_sets.items():
        self._get_bucket(t_frag).add_alternate_nodes(get.node, frag_set)
    t_durable = headers.get('X-Backend-Durable-Timestamp')
    if ((not t_durable) and (not t_data_file)):
        t_durable = t_obj
    if t_durable:
        self._get_bucket(t_durable).set_durable()
