summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2017-12-17 20:07:44 +0000
committerdakkar <dakkar@thenautilus.net>2017-12-17 20:07:44 +0000
commit4eda6106568406ddac4eb20097d2b669d1a414f1 (patch)
tree7556f4afe57b25bd0398131017b7abc5ef53f3fa
parentSubsonic returns text/xml (diff)
downloadUltramarine-4eda6106568406ddac4eb20097d2b669d1a414f1.tar.gz
Ultramarine-4eda6106568406ddac4eb20097d2b669d1a414f1.tar.bz2
Ultramarine-4eda6106568406ddac4eb20097d2b669d1a414f1.zip
add xml text-decl
XML::Writer doesn't :(
-rw-r--r--lib/Ultramarine/Serialiser/XML.pm615
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/Ultramarine/Serialiser/XML.pm6 b/lib/Ultramarine/Serialiser/XML.pm6
index 2d04427..5da79e9 100644
--- a/lib/Ultramarine/Serialiser/XML.pm6
+++ b/lib/Ultramarine/Serialiser/XML.pm6
@@ -16,12 +16,15 @@ class Ultramarine::Serialiser::XML
}
method serialize(Cro::HTTP::Message $message, $body --> Supply) {
- my $xml = XML::Writer.serialize(
- subsonic-response => [
- :xmlns<http://subsonic.org/restapi>,
- :version<1.13.0>,
- |$body,
- ],
+ my $xml = (
+ qq{<?xml version="1.0" encoding="UTF-8"?>\n} ~
+ XML::Writer.serialize(
+ subsonic-response => [
+ :xmlns<http://subsonic.org/restapi>,
+ :version<1.13.0>,
+ |$body,
+ ],
+ )
).encode('utf-8');
self!set-content-length($message, $xml.bytes);
supply { emit $xml }