[PHP] Allows passing filename to deserialize (#11582)

* Allows passing filename to deserialize

* Code review changes
This commit is contained in:
Juan Treminio
2022-02-14 03:38:16 -06:00
committed by GitHub
parent ec51e9cd0b
commit 905e59c238
3 changed files with 12 additions and 2 deletions

View File

@@ -20,6 +20,7 @@
namespace {{invokerPackage}};
use {{modelPackage}}\ModelInterface;
use GuzzleHttp\Psr7\Utils;
/**
* ObjectSerializer Class Doc Comment
@@ -337,6 +338,8 @@ class ObjectSerializer
}
if ($class === '\SplFileObject') {
$data = Utils::streamFor($data);
/** @var \Psr\Http\Message\StreamInterface $data */
// determine file name

View File

@@ -29,6 +29,7 @@
namespace OpenAPI\Client;
use OpenAPI\Client\Model\ModelInterface;
use GuzzleHttp\Psr7\Utils;
/**
* ObjectSerializer Class Doc Comment
@@ -346,6 +347,8 @@ class ObjectSerializer
}
if ($class === '\SplFileObject') {
$data = Utils::streamFor($data);
/** @var \Psr\Http\Message\StreamInterface $data */
// determine file name

View File

@@ -4,7 +4,6 @@ namespace OpenAPI\Client;
use GuzzleHttp\Psr7\Utils;
use PHPUnit\Framework\TestCase;
use Psr\Http\Message\StreamInterface;
// test object serializer
class ObjectSerializerTest extends TestCase
@@ -34,7 +33,7 @@ class ObjectSerializerTest extends TestCase
* @covers ObjectSerializer::serialize
* @dataProvider provideFileStreams
*/
public function testDeserializeFile(StreamInterface $stream, ?array $httpHeaders = null, ?string $expectedFilename = null): void
public function testDeserializeFile($stream, ?array $httpHeaders = null, ?string $expectedFilename = null): void
{
$s = new ObjectSerializer();
@@ -62,6 +61,11 @@ class ObjectSerializerTest extends TestCase
['Content-Disposition' => 'inline; filename=\'foobar.php\''],
'foobar.php',
],
'File path' => [
__FILE__,
null,
null,
],
];
}