code: def _get_headers(self, environ):
          
          headers = self.headers
          method = environ['REQUEST_METHOD']
  
          if has_empty_content(self.status_code, method) and method != HEAD:
              headers.pop('content-type', None)
              headers.pop('content-length', None)
              self._content = ()
          else:
              if not self.is_streamed():
                  cl = reduce(count_len, self._content, 0)
                  headers['content-length'] = str(cl)
              ct = headers.get('content-type')
              # content type encoding available
              if self.encoding:
                  ct = ct or 'text/plain'
                  if ';' not in ct:
                      ct = '%s; charset=%s' % (ct, self.encoding)
              if ct:
                  headers['content-type'] = ct
              if method == HEAD:
                  self._content = ()
          # Cookies
          if (self.status_code < 400 and self._can_store_cookies and
                  self._cookies):
              for c in self.cookies.values():
                  headers.add('set-cookie', c.OutputString())
          return headers.items()
docs: The list of headers for this response