[Modify] Polish it

This commit is contained in:
sta 2017-12-28 19:42:07 +09:00
parent 05e9629652
commit 3651d12408

View File

@ -462,21 +462,24 @@ namespace WebSocketSharp.Net
#region Internal Methods #region Internal Methods
internal void AddHeader (string header) internal void AddHeader (string headerLine)
{ {
var colon = header.IndexOf (':'); var colon = headerLine.IndexOf (':');
if (colon == -1) { if (colon < 1) {
_context.ErrorMessage = "Invalid header"; _context.ErrorMessage = "Invalid header line";
return; return;
} }
var name = header.Substring (0, colon).Trim (); var name = headerLine.Substring (0, colon).Trim ();
var val = header.Substring (colon + 1).Trim (); var val = colon < headerLine.Length - 1
? headerLine.Substring (colon + 1).Trim ()
: String.Empty;
_headers.InternalSet (name, val, false); _headers.InternalSet (name, val, false);
var lower = name.ToLower (CultureInfo.InvariantCulture); var lower = name.ToLower (CultureInfo.InvariantCulture);
if (lower == "accept") { if (lower == "accept") {
_acceptTypes = new List<string> (val.SplitHeaderValue (',')).ToArray (); _acceptTypes = val.SplitHeaderValue (',').ToList ().ToArray ();
return; return;
} }
@ -509,8 +512,17 @@ namespace WebSocketSharp.Net
return; return;
} }
if (lower == "referer") if (lower == "referer") {
_referer = val.ToUri (); var referer = val.ToUri ();
if (referer != null) {
_referer = referer;
}
else {
_context.ErrorMessage = "Invalid Referer header";
}
return;
}
} }
internal void FinishInitialization () internal void FinishInitialization ()