Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 9dda916

Browse files
committed
Fix serializer: never add a "chunk" if there was already a proper XMLDoc.
1 parent 9ac73a7 commit 9dda916

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

core/src/core/src/pydio/Core/Http/Response/SerializableResponseStream.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,20 @@ protected function serializeData($data, $serializer){
172172
$wrap = true;
173173
$buffer = "";
174174
$charset = null;
175-
foreach ($data as $serializableItem){
176-
if(!$serializableItem instanceof XMLSerializableResponseChunk){
177-
continue;
178-
}
179-
$buffer .= $serializableItem->toXML();
180-
if($serializableItem instanceof XMLDocSerializableResponseChunk){
181-
$wrap = false;
182-
$charset = $serializableItem->getCharset();
175+
/** @var XMLDocSerializableResponseChunk[] $xmlDocs */
176+
$xmlDocs = array_filter($data, function($serial){
177+
return $serial instanceof XMLDocSerializableResponseChunk;
178+
});
179+
if(count($xmlDocs)){
180+
$buffer = $xmlDocs[0]->toXML();
181+
$charset = $xmlDocs[0]->getCharset();
182+
$wrap = false;
183+
}else{
184+
foreach ($data as $serializableItem){
185+
if(!$serializableItem instanceof XMLSerializableResponseChunk){
186+
continue;
187+
}
188+
$buffer .= $serializableItem->toXML();
183189
}
184190
}
185191

0 commit comments

Comments
 (0)