Refactored AuthenticationChallenge.cs

This commit is contained in:
sta 2014-06-21 21:28:08 +09:00
parent b2559a3276
commit 7ed991d72e
2 changed files with 12 additions and 17 deletions

View File

@ -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;

View File

@ -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)