code: def parse(cls, conn):
          
  
          req = cls(conn)
          req_line = yield from conn.reader.readline()
          logger('HttpRequest').debug('req_line = %r', req_line)
          req._parse_req_line(req_line)
  
          header_line = yield from conn.reader.readline()
          while len(header_line) > 0 and header_line != b'\r\n':
              try:
                  req._parse_header(header_line)
              except BadHttpHeaderError as e:
                  # Tolerating 'minor' mistakes
                  logger('HttpRequest').debug(traceback.format_exc())
              header_line = yield from conn.reader.readline()
          return req
docs: Read a request from the HTTP connection ``conn``.
  
          May raise ``BadHttpRequestError``.