From 2d47d5e663d501d44251319de3263f9bce2768ee Mon Sep 17 00:00:00 2001 From: sta Date: Tue, 6 Feb 2018 17:10:43 +0900 Subject: [PATCH] [Modify] Polish it --- websocket-sharp/Net/HttpUtility.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/websocket-sharp/Net/HttpUtility.cs b/websocket-sharp/Net/HttpUtility.cs index 1b15d388..26cd9271 100644 --- a/websocket-sharp/Net/HttpUtility.cs +++ b/websocket-sharp/Net/HttpUtility.cs @@ -612,12 +612,19 @@ namespace WebSocketSharp.Net internal static Encoding GetEncoding (string contentType) { - foreach (var elm in contentType.Split (';')) { + var name = "charset="; + var comparison = StringComparison.OrdinalIgnoreCase; + + foreach (var elm in contentType.SplitHeaderValue (';')) { var part = elm.Trim (); - if (part.IndexOf ("charset", StringComparison.OrdinalIgnoreCase) != 0) + if (part.IndexOf (name, comparison) != 0) continue; - return Encoding.GetEncoding (part.GetValue ('=', true)); + var val = part.GetValue ('=', true); + if (val == null || val.Length == 0) + return null; + + return Encoding.GetEncoding (val); } return null;