/** * Get the stream factory. * * @param string|StreamInterface $file Filename or stream it's replacing * @param string $mode * * @return StreamInterface */ private static function createStream($file = 'php://temp', $mode = 'r+') { $factory = Middleware::getStreamFactory(); $replacing = null; if ($file instanceof StreamInterface) { $replacing = $file; $file = 'php://temp'; } if ($factory === null) { if (class_exists('Zend\\Diactoros\\Stream')) { return new \Zend\Diactoros\Stream($file, $mode); } throw new \RuntimeException('Unable to create a stream. No stream factory defined'); } return call_user_func($factory, $file, $mode, $replacing); }