diff --git a/websocket-sharp/Net/HttpListenerRequest.cs b/websocket-sharp/Net/HttpListenerRequest.cs
index 3af9a2c6..45feec7f 100644
--- a/websocket-sharp/Net/HttpListenerRequest.cs
+++ b/websocket-sharp/Net/HttpListenerRequest.cs
@@ -55,36 +55,39 @@ namespace WebSocketSharp.Net
///
public sealed class HttpListenerRequest
{
- #region Private Static Fields
+ #region Private Fields
- private static byte [] _100continue =
- Encoding.ASCII.GetBytes ("HTTP/1.1 100 Continue\r\n\r\n");
+ private static readonly byte[] _100continue;
+ private string[] _acceptTypes;
+ private bool _chunked;
+ private Encoding _contentEncoding;
+ private long _contentLength;
+ private bool _contentLengthWasSet;
+ private HttpListenerContext _context;
+ private CookieCollection _cookies;
+ private WebHeaderCollection _headers;
+ private Guid _identifier;
+ private Stream _inputStream;
+ private bool _keepAlive;
+ private bool _keepAliveWasSet;
+ private string _method;
+ private NameValueCollection _queryString;
+ private Uri _referer;
+ private string _uri;
+ private Uri _url;
+ private string[] _userLanguages;
+ private Version _version;
+ private bool _websocketRequest;
+ private bool _websocketRequestWasSet;
#endregion
- #region Private Fields
+ #region Static Constructor
- private string [] _acceptTypes;
- private bool _chunked;
- private Encoding _contentEncoding;
- private long _contentLength;
- private bool _contentLengthWasSet;
- private HttpListenerContext _context;
- private CookieCollection _cookies;
- private WebHeaderCollection _headers;
- private Guid _identifier;
- private Stream _inputStream;
- private bool _keepAlive;
- private bool _keepAliveWasSet;
- private string _method;
- private NameValueCollection _queryString;
- private Uri _referer;
- private string _uri;
- private Uri _url;
- private string [] _userLanguages;
- private Version _version;
- private bool _websocketRequest;
- private bool _websocketRequestWasSet;
+ static HttpListenerRequest ()
+ {
+ _100continue = Encoding.ASCII.GetBytes ("HTTP/1.1 100 Continue\r\n\r\n");
+ }
#endregion
@@ -109,7 +112,7 @@ namespace WebSocketSharp.Net
/// An array of that contains the media type names in the Accept
/// request-header, or if the request didn't include an Accept header.
///
- public string [] AcceptTypes {
+ public string[] AcceptTypes {
get {
return _acceptTypes;
}
@@ -163,7 +166,7 @@ namespace WebSocketSharp.Net
///
public string ContentType {
get {
- return _headers ["Content-Type"];
+ return _headers["Content-Type"];
}
}
@@ -300,7 +303,7 @@ namespace WebSocketSharp.Net
string keepAlive;
_keepAlive = _version > HttpVersion.Version10 ||
_headers.Contains ("Connection", "keep-alive") ||
- ((keepAlive = _headers ["Keep-Alive"]) != null && keepAlive != "closed");
+ ((keepAlive = _headers["Keep-Alive"]) != null && keepAlive != "closed");
_keepAliveWasSet = true;
}
@@ -416,7 +419,7 @@ namespace WebSocketSharp.Net
///
public string UserAgent {
get {
- return _headers ["User-Agent"];
+ return _headers["User-Agent"];
}
}
@@ -440,7 +443,7 @@ namespace WebSocketSharp.Net
///
public string UserHostName {
get {
- return _headers ["Host"];
+ return _headers["Host"];
}
}
@@ -452,7 +455,7 @@ namespace WebSocketSharp.Net
/// the Accept-Language request-header, or if the request
/// didn't include an Accept-Language header.
///
- public string [] UserLanguages {
+ public string[] UserLanguages {
get {
return _userLanguages;
}
@@ -464,12 +467,12 @@ namespace WebSocketSharp.Net
private static bool tryCreateVersion (string version, out Version result)
{
- result = null;
try {
result = new Version (version);
return true;
}
catch {
+ result = null;
return false;
}
}
@@ -502,9 +505,9 @@ namespace WebSocketSharp.Net
}
if (lower == "content-length") {
- long length;
- if (Int64.TryParse (val, out length) && length >= 0) {
- _contentLength = length;
+ long len;
+ if (Int64.TryParse (val, out len) && len >= 0) {
+ _contentLength = len;
_contentLengthWasSet = true;
}
else {
@@ -515,11 +518,11 @@ namespace WebSocketSharp.Net
}
if (lower == "content-type") {
- var contents = val.Split (';');
- foreach (var content in contents) {
- var tmp = content.Trim ();
- if (tmp.StartsWith ("charset")) {
- var charset = tmp.GetValue ("=");
+ var parts = val.Split (';');
+ foreach (var p in parts) {
+ var part = p.Trim ();
+ if (part.StartsWith ("charset", StringComparison.OrdinalIgnoreCase)) {
+ var charset = part.GetValue ("=");
if (charset != null && charset.Length > 0) {
try {
_contentEncoding = Encoding.GetEncoding (charset.Trim ('"'));
@@ -542,7 +545,7 @@ namespace WebSocketSharp.Net
internal void FinishInitialization ()
{
- var host = _headers ["Host"];
+ var host = _headers["Host"];
var noHost = host == null || host.Length == 0;
if (_version > HttpVersion.Version10 && noHost) {
_context.ErrorMessage = "Invalid Host header";
@@ -558,7 +561,7 @@ namespace WebSocketSharp.Net
return;
}
- var encoding = Headers ["Transfer-Encoding"];
+ var encoding = Headers["Transfer-Encoding"];
if (_version > HttpVersion.Version10 && encoding != null && encoding.Length > 0) {
_chunked = encoding.ToLower () == "chunked";
if (!_chunked) {
@@ -579,7 +582,7 @@ namespace WebSocketSharp.Net
}
}
- var expect = Headers ["Expect"];
+ var expect = Headers["Expect"];
if (expect != null && expect.Length > 0 && expect.ToLower () == "100-continue") {
var output = _context.Connection.GetResponseStream ();
output.WriteInternally (_100continue, 0, _100continue.Length);
@@ -592,15 +595,15 @@ namespace WebSocketSharp.Net
if (!HasEntityBody)
return true;
- var length = 2048;
+ var len = 2048;
if (_contentLength > 0)
- length = (int) Math.Min (_contentLength, (long) length);
+ len = (int) Math.Min (_contentLength, (long) len);
- var buff = new byte [length];
+ var buff = new byte[len];
while (true) {
// TODO: Test if MS has a timeout when doing this.
try {
- var ares = InputStream.BeginRead (buff, 0, length, null, null);
+ var ares = InputStream.BeginRead (buff, 0, len, null, null);
if (!ares.IsCompleted && !ares.AsyncWaitHandle.WaitOne (100))
return false;
@@ -615,23 +618,23 @@ namespace WebSocketSharp.Net
internal void SetRequestLine (string requestLine)
{
- var parts = requestLine.Split (new [] { ' ' }, 3);
+ var parts = requestLine.Split (new[] { ' ' }, 3);
if (parts.Length != 3) {
_context.ErrorMessage = "Invalid request line (parts)";
return;
}
- _method = parts [0];
+ _method = parts[0];
if (!_method.IsToken ()) {
_context.ErrorMessage = "Invalid request line (method)";
return;
}
- _uri = parts [1];
+ _uri = parts[1];
- if (parts [2].Length != 8 ||
- !parts [2].StartsWith ("HTTP/") ||
- !tryCreateVersion (parts [2].Substring (5), out _version) ||
+ if (parts[2].Length != 8 ||
+ !parts[2].StartsWith ("HTTP/") ||
+ !tryCreateVersion (parts[2].Substring (5), out _version) ||
_version.Major < 1)
_context.ErrorMessage = "Invalid request line (version)";
}
@@ -715,11 +718,11 @@ namespace WebSocketSharp.Net
///
public override string ToString ()
{
- var buff = new StringBuilder (64);
- buff.AppendFormat ("{0} {1} HTTP/{2}\r\n", _method, _uri, _version);
- buff.Append (_headers.ToString ());
+ var output = new StringBuilder (64);
+ output.AppendFormat ("{0} {1} HTTP/{2}\r\n", _method, _uri, _version);
+ output.Append (_headers.ToString ());
- return buff.ToString ();
+ return output.ToString ();
}
#endregion