'Establish connections to storage nodes for PUT request'

def _get_put_connections(self, req, nodes, partition, outgoing_headers, policy):

    obj_ring = policy.object_ring
    node_iter = GreenthreadSafeIterator(self.iter_nodes_local_first(obj_ring, partition, policy=policy))
    pile = GreenPile(len(nodes))
    for nheaders in outgoing_headers:
        if ((req.content_length > 0) or req.is_chunked):
            nheaders['Expect'] = '100-continue'
        pile.spawn(self._connect_put_node, node_iter, partition, req, nheaders, self.app.logger.thread_locals)
    putters = [putter for putter in pile if putter]
    return putters
