Beispiel #1
0
    def run_stream(self, rfile, frame_header):

        (frame_len, frame_type, frame_flag, frame_id) = frame_header
        raw_frame_payload = rfile.read(frame_len)

        frame = Frame.load(
            frame=raw_frame_payload,
            header=frame_header,
            decoder=self.conn.decoder
        )

        self.recv_frame(frame)

        if self.is_recv_end_header and not self.is_run_app:
            self.is_run_app = True

            self.run_with_dogu(
                (
                    self.command,
                    self.path,
                    self.http_version,
                    self.recv_headers,
                ),
                self.request_payload_stream
            )

        if self.is_wait_res and not self.sending:
            self.sending = True  # start send
            self.conn.flush()

        return True