'Yield (header, value) tuples, skipping headers that are not
allowed with the current response status code.'

def iter_headers(self):

    headers = self._headers.iteritems()
    bad_headers = self.bad_headers.get(self.status_code)
    if bad_headers:
        headers = (h for h in headers if (h[0] not in bad_headers))
    for (name, values) in headers:
        for value in values:
            (yield (name, value))
    if self._cookies:
        for c in self._cookies.values():
            (yield ('Set-Cookie', c.OutputString()))
