System.Net.HttpConnection.Close C# (CSharp) Method

Close() private method

private Close ( bool force_close ) : void
force_close bool
return void
		internal void Close (bool force_close)
		{
			if (sock != null) {
				Stream st = GetResponseStream ();
				st.Close ();
				o_stream = null;
			}

			if (sock != null) {
				force_close |= (context.Request.Headers ["connection"] == "close");
				if (!force_close) {
					int status_code = context.Response.StatusCode;
					bool conn_close = (status_code == 400 || status_code == 408 || status_code == 411 ||
							status_code == 413 || status_code == 414 || status_code == 500 ||
							status_code == 503);

					force_close |= (context.Request.ProtocolVersion <= HttpVersion.Version10);
				}

				if (!force_close && context.Request.FlushInput ()) {
					if (chunked && context.Response.ForceCloseChunked == false) {
						// Don't close. Keep working.
						chunked_uses++;
						Unbind ();
						Init ();
						BeginReadRequest ();
						return;
					}

					Unbind ();
					Init ();
					BeginReadRequest ();
					return;
				}

				Socket s = sock;
				sock = null;
				try {
					if (s != null)
						s.Shutdown (SocketShutdown.Both);
				} catch {
				} finally {
					if (s != null)
						s.Close ();
				}
				Unbind ();
				return;
			}
		}
	}

Same methods

HttpConnection::Close ( ) : void