code: def respond(self):
          
          response = self.req.server.wsgi_app(self.env, self.start_response)
          try:
              for chunk in filter(None, response):
                  if not isinstance(chunk, six.binary_type):
                      raise ValueError('WSGI Applications must yield bytes')
                  self.write(chunk)
          finally:
              # Send headers if not already sent
              self.req.ensure_headers_sent()
              if hasattr(response, 'close'):
                  response.close()
docs: Process the current request.
  
          From :pep:`333`:
  
              The start_response callable must not actually transmit
              the response headers. Instead, it must store them for the
              server or gateway to transmit only after the first
              iteration of the application return value that yields
              a NON-EMPTY string, or upon the application's first
              invocation of the write() callable.