PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / slim / psr7 / src / Factory / StreamFactory.php
ameliabooking / vendor / slim / psr7 / src / Factory Last commit date
RequestFactory.php 2 months ago ResponseFactory.php 2 months ago ServerRequestFactory.php 2 months ago StreamFactory.php 2 months ago UploadedFileFactory.php 2 months ago UriFactory.php 2 months ago
StreamFactory.php
96 lines
1 <?php
2
3 /**
4 * Slim Framework (https://slimframework.com)
5 *
6 * @license https://github.com/slimphp/Slim-Psr7/blob/master/LICENSE.md (MIT License)
7 */
8
9 declare(strict_types=1);
10
11 namespace Slim\Psr7\Factory;
12
13 use InvalidArgumentException;
14 use AmeliaVendor\Psr\Http\Message\StreamFactoryInterface;
15 use AmeliaVendor\Psr\Http\Message\StreamInterface;
16 use RuntimeException;
17 use Slim\Psr7\Stream;
18 use ValueError;
19
20 use function fopen;
21 use function fwrite;
22 use function is_resource;
23 use function restore_error_handler;
24 use function rewind;
25 use function set_error_handler;
26
27 class StreamFactory implements StreamFactoryInterface
28 {
29 /**
30 * {@inheritdoc}
31 *
32 * @throws RuntimeException
33 */
34 public function createStream(string $content = ''): StreamInterface
35 {
36 $resource = fopen('php://temp', 'rw+');
37
38 if (!is_resource($resource)) {
39 throw new RuntimeException('StreamFactory::createStream() could not open temporary file stream.');
40 }
41
42 fwrite($resource, $content);
43 rewind($resource);
44
45 return $this->createStreamFromResource($resource);
46 }
47
48 /**
49 * {@inheritdoc}
50 */
51 public function createStreamFromFile(
52 string $filename,
53 string $mode = 'r',
54 ?StreamInterface $cache = null
55 ): StreamInterface {
56 set_error_handler(
57 static function (int $errno, string $errstr) use ($filename, $mode): void {
58 throw new RuntimeException(
59 "Unable to open $filename using mode $mode: $errstr",
60 $errno
61 );
62 }
63 );
64
65 try {
66 $resource = fopen($filename, $mode);
67 } catch (ValueError $exception) {
68 throw new RuntimeException("Unable to open $filename using mode $mode: " . $exception->getMessage());
69 } finally {
70 restore_error_handler();
71 }
72
73 if (!is_resource($resource)) {
74 throw new RuntimeException(
75 "StreamFactory::createStreamFromFile() could not create resource from file `$filename`"
76 );
77 }
78
79 return new Stream($resource, $cache);
80 }
81
82 /**
83 * {@inheritdoc}
84 */
85 public function createStreamFromResource($resource, ?StreamInterface $cache = null): StreamInterface
86 {
87 if (!is_resource($resource)) {
88 throw new InvalidArgumentException(
89 'Parameter 1 of StreamFactory::createStreamFromResource() must be a resource.'
90 );
91 }
92
93 return new Stream($resource, $cache);
94 }
95 }
96