code: def data_received(self, data):
          
          try:
              self.responders[-1].on_data(data)
          except Exception as error:
              self.handle_error(error)
docs: (asyncio.Protocol member)
  
          Called upon when there is new data to be passed to the
          protocol.
          The data is forwarded to the top of the responder stack (via
          the on_data method).
          If an excpetion occurs while this is going on, the Exception
          is forwarded to the protocol's handle_error method.
  
          Args:
              data (bytes): Bytes from the latest data transmission