code: def handle_request(self):
          
          # Support people who used socket.settimeout() to escape
          # handle_request before self.timeout was available.
          timeout = self.socket.gettimeout()
          if timeout is None:
              timeout = self.timeout
          elif self.timeout is not None:
              timeout = min(timeout, self.timeout)
          fd_sets = select.select([self], [], [], timeout)
          if not fd_sets[0]:
              self.handle_timeout()
              return
          self._handle_request_noblock()
docs: Handle one request, possibly blocking.
  
          Respects self.timeout.