summaryrefslogtreecommitdiff
path: root/src/Diactoros/UploadedFileFactory.php
blob: daa475c1be4de9462f4776994f698ac042adc739 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

/**
 * High-performance PHP process supervisor and load balancer written in Go
 *
 * @author Wolfy-J
 */
declare(strict_types=1);

namespace Spiral\RoadRunner\Diactoros;

use Psr\Http\Message\StreamInterface;
use Psr\Http\Message\UploadedFileFactoryInterface;
use Psr\Http\Message\UploadedFileInterface;
use Laminas\Diactoros\UploadedFile;

final class UploadedFileFactory implements UploadedFileFactoryInterface
{
    /**
     * @inheritdoc
     */
    public function createUploadedFile(
        StreamInterface $stream,
        int $size = null,
        int $error = \UPLOAD_ERR_OK,
        string $clientFilename = null,
        string $clientMediaType = null
    ): UploadedFileInterface {
        if ($size === null) {
            $size = (int) $stream->getSize();
        }

        /** @var resource $stream */
        return new UploadedFile($stream, $size, $error, $clientFilename, $clientMediaType);
    }
}