| Conditions | 5 | 
| Paths | 9 | 
| Total Lines | 29 | 
| Code Lines | 17 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 0 | 
| CRAP Score | 30 | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 33 | public function manifest(ConnectionInterface $connection, Session $session): Session  | 
            ||
| 34 |     { | 
            ||
| 35 |         $connection->send('354 Enter message, ending with "." on a line by itself'); | 
            ||
| 36 | $data = [];  | 
            ||
| 37 | |||
| 38 |         while (true) { | 
            ||
| 39 | $line = $connection->receive();  | 
            ||
| 40 | |||
| 41 |             if ($line === '.') { | 
            ||
| 42 | break;  | 
            ||
| 43 | }  | 
            ||
| 44 | |||
| 45 | $data[] = $line;  | 
            ||
| 46 | }  | 
            ||
| 47 | |||
| 48 |         try { | 
            ||
| 49 |             $message = GenericMessage::fromString(implode("\r\n", $data)); | 
            ||
| 50 |         } catch (\InvalidArgumentException $e) { | 
            ||
| 51 |             $connection->send('500 Malformed message'); | 
            ||
| 52 | return $session;  | 
            ||
| 53 | }  | 
            ||
| 54 | |||
| 55 |         foreach ($session->getRecipients() as $recipient) { | 
            ||
| 56 | $this->backend->store($recipient, $message);  | 
            ||
| 57 | }  | 
            ||
| 58 | |||
| 59 |         $connection->send('250 Message received, queue for delivering'); | 
            ||
| 60 | return (clone $session)->withMessage($message);  | 
            ||
| 61 | }  | 
            ||
| 62 | |||
| 70 | }  |