From 7ed991d72e709b4cf0885907371c95705a37c897 Mon Sep 17 00:00:00 2001 From: sta Date: Sat, 21 Jun 2014 21:28:08 +0900 Subject: [PATCH] Refactored AuthenticationChallenge.cs --- websocket-sharp/AuthenticationChallenge.cs | 3 ++- websocket-sharp/Ext.cs | 26 +++++++++------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/websocket-sharp/AuthenticationChallenge.cs b/websocket-sharp/AuthenticationChallenge.cs index 0c70929b..0a403a10 100644 --- a/websocket-sharp/AuthenticationChallenge.cs +++ b/websocket-sharp/AuthenticationChallenge.cs @@ -117,8 +117,9 @@ namespace WebSocketSharp public static AuthenticationChallenge Parse (string value) { - var challenge = value.Split (new char [] {' '}, 2); + var challenge = value.Split (new [] { ' ' }, 2); var scheme = challenge [0].ToLower (); + return scheme == "basic" || scheme == "digest" ? new AuthenticationChallenge (scheme, challenge [1]) : null; diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 26cd99b5..b6ba6e4c 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -606,26 +606,20 @@ namespace WebSocketSharp internal static NameValueCollection ParseAuthParams (this string value) { - var result = new NameValueCollection (); - var i = 0; - string name, val; + var res = new NameValueCollection (); foreach (var param in value.SplitHeaderValue (',')) { - i = param.IndexOf ('='); - if (i > 0) { - name = param.Substring (0, i).Trim (); - val = i < param.Length - 1 - ? param.Substring (i + 1).Trim ().Trim ('"') - : String.Empty; - } - else { - name = param; - val = String.Empty; - } + var i = param.IndexOf ('='); + var name = i > 0 ? param.Substring (0, i).Trim () : null; + var val = i < 0 + ? param.Trim ().Trim ('"') + : param.Length > i + 1 + ? param.Substring (i + 1).Trim ().Trim ('"') + : String.Empty; - result.Add (name, val); + res.Add (name, val); } - return result; + return res; } internal static byte [] ReadBytes (this Stream stream, int length)