PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.3
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.3
6.0.3 6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 All 34 releases
automatorwp / integrations / mailchimp / vendor / guzzlehttp / psr7 / src / LazyOpenStream.php

LazyOpenStream.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 6.0.3, at integrations/mailchimp/vendor/guzzlehttp/psr7/src/LazyOpenStream.php

50 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace GuzzleHttp\Psr7;
6
7 use Psr\Http\Message\StreamInterface;
8
9 /**
10 * Lazily reads or writes to a file that is opened only after an IO operation
11 * take place on the stream.
12 */
13 final class LazyOpenStream implements StreamInterface
14 {
15 use StreamDecoratorTrait;
16
17 /** @var string */
18 private $filename;
19
20 /** @var string */
21 private $mode;
22
23 /**
24 * @var StreamInterface
25 */
26 private $stream;
27
28 /**
29 * @param string $filename File to lazily open
30 * @param string $mode fopen mode to use when opening the stream
31 */
32 public function __construct(string $filename, string $mode)
33 {
34 $this->filename = $filename;
35 $this->mode = $mode;
36
37 // unsetting the property forces the first access to go through
38 // __get().
39 unset($this->stream);
40 }
41
42 /**
43 * Creates the underlying stream lazily when required.
44 */
45 protected function createStream(): StreamInterface
46 {
47 return Utils::streamFor(Utils::tryFopen($this->filename, $this->mode));
48 }
49 }
50