From 61b7c70c65b421bdd0b4df4616265e310e037a97 Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Sun, 24 Feb 2013 01:25:54 +0100 Subject: [PATCH] Some grids send UTF-8 bom char with their xml response --- OpenMetaverse.StructuredData/StructuredData.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/OpenMetaverse.StructuredData/StructuredData.cs b/OpenMetaverse.StructuredData/StructuredData.cs index 87d253cb..bcc2088a 100644 --- a/OpenMetaverse.StructuredData/StructuredData.cs +++ b/OpenMetaverse.StructuredData/StructuredData.cs @@ -1178,6 +1178,18 @@ namespace OpenMetaverse.StructuredData { string header = Encoding.ASCII.GetString(data, 0, data.Length >= 17 ? 17 : data.Length); + try + { + string uHeader = Encoding.UTF8.GetString(data, 0, data.Length >= 17 ? 17 : data.Length).TrimStart(); + if (uHeader.StartsWith(LLSD_XML_HEADER, StringComparison.InvariantCultureIgnoreCase) || + uHeader.StartsWith(LLSD_XML_ALT_HEADER, StringComparison.InvariantCultureIgnoreCase) || + uHeader.StartsWith(LLSD_XML_ALT2_HEADER, StringComparison.InvariantCultureIgnoreCase)) + { + return DeserializeLLSDXml(data); + } + } + catch { } + if (header.StartsWith(LLSD_BINARY_HEADER, StringComparison.InvariantCultureIgnoreCase)) { return DeserializeLLSDBinary(data);