Skip to content

Commit 6698c53

Browse files
committed
Keep PHP binary responses as strings for easier manipulation.
1 parent d2bb505 commit 6698c53

File tree

5 files changed

+7
-7
lines changed

5 files changed

+7
-7
lines changed

modules/swagger-codegen/src/main/resources/php/ObjectSerializer.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ class ObjectSerializer
242242
}
243243
$deserialized = $values;
244244
} elseif ($class === 'ByteArray') { // byte array
245-
$deserialized = unpack('C*', (string)$data);
245+
$deserialized = (string)$data;
246246
} elseif ($class === '\DateTime') {
247247
$deserialized = new \DateTime($data);
248248
} elseif (in_array($class, array({{&primitives}}))) {

modules/swagger-codegen/src/main/resources/php/api.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ use \{{invokerPackage}}\ObjectSerializer;
188188
{{#bodyParams}}// body params
189189
$_tempBody = null;
190190
if (isset(${{paramName}})) {
191-
{{^isBinary}}$_tempBody = ${{paramName}};{{/isBinary}}{{#isBinary}}$_tempBody = call_user_func_array('pack', array_merge(array('C*'), ${{paramName}}));{{/isBinary}}
191+
$_tempBody = ${{paramName}};
192192
}{{/bodyParams}}
193193

194194
// for model (json/xml)

samples/client/petstore/php/SwaggerClient-php/lib/Api/PetApi.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1036,7 +1036,7 @@ public function addPetUsingByteArrayWithHttpInfo($body = null)
10361036
// body params
10371037
$_tempBody = null;
10381038
if (isset($body)) {
1039-
$_tempBody = call_user_func_array('pack', array_merge(array('C*'), $body));
1039+
$_tempBody = $body;
10401040
}
10411041

10421042
// for model (json/xml)

samples/client/petstore/php/SwaggerClient-php/lib/ObjectSerializer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ public static function deserialize($data, $class, $httpHeaders=null)
242242
}
243243
$deserialized = $values;
244244
} elseif ($class === 'ByteArray') { // byte array
245-
$deserialized = unpack('C*', (string)$data);
245+
$deserialized = (string)$data;
246246
} elseif ($class === '\DateTime') {
247247
$deserialized = new \DateTime($data);
248248
} elseif (in_array($class, array('integer', 'int', 'void', 'number', 'object', 'double', 'float', 'byte', 'DateTime', 'string', 'mixed', 'boolean', 'bool'))) {

samples/client/petstore/php/SwaggerClient-php/tests/PetApiTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ public function testAddPetUsingByteArray()
279279
// add a new pet (model)
280280
$object_serializer = new Swagger\Client\ObjectSerializer();
281281
$pet_json_string = json_encode($object_serializer->sanitizeForSerialization($new_pet));
282-
$add_response = $pet_api->addPetUsingByteArray(unpack('C*', $pet_json_string));
282+
$add_response = $pet_api->addPetUsingByteArray($pet_json_string);
283283
// return nothing (void)
284284
$this->assertSame($add_response, NULL);
285285
// verify added Pet
@@ -330,9 +330,9 @@ public function testGetPetByIdWithByteArray()
330330
// test getPetByIdWithByteArray
331331
$pet_id = 10005;
332332
$bytes = $pet_api->petPetIdtestingByteArraytrueGet($pet_id);
333-
$json = json_decode(call_user_func_array('pack', array_merge(array('C*'), $bytes )), true);
333+
$json = json_decode($bytes, true);
334334

335-
$this->assertInternalType("array", $bytes);
335+
$this->assertInternalType("string", $bytes);
336336

337337
$this->assertSame($json['id'], $pet_id);
338338
// not testing name as it's tested by addPetUsingByteArray

0 commit comments

Comments
 (0)