(self)
| 542 | next(self.parser) # start coroutine |
| 543 | |
| 544 | def parse(self) -> Generator[None]: |
| 545 | if self.state is CONNECTING: |
| 546 | try: |
| 547 | request = yield from Request.parse( |
| 548 | self.reader.read_line, |
| 549 | ) |
| 550 | except Exception as exc: |
| 551 | self.handshake_exc = InvalidMessage( |
| 552 | "did not receive a valid HTTP request" |
| 553 | ) |
| 554 | self.handshake_exc.__cause__ = exc |
| 555 | self.send_eof() |
| 556 | self.parser = self.discard() |
| 557 | next(self.parser) # start coroutine |
| 558 | yield |
| 559 | |
| 560 | if self.debug: |
| 561 | self.logger.debug("< GET %s HTTP/1.1", request.path) |
| 562 | for key, value in request.headers.raw_items(): |
| 563 | self.logger.debug("< %s: %s", key, value) |
| 564 | |
| 565 | self.events.append(request) |
| 566 | |
| 567 | yield from super().parse() |
| 568 | |
| 569 | |
| 570 | class ServerConnection(ServerProtocol): |
nothing calls this directly
no test coverage detected