コード例 #1
0
        internal void Close(bool force)
        {
            if (_disposed)
            {
                return;
            }

            _disposed = true;

            if (!force)
            {
                if (flush(true))
                {
                    _response.Close();

                    _response    = null;
                    _innerStream = null;

                    return;
                }

                _response.CloseConnection = true;
            }

            if (_sendChunked)
            {
                _write(_lastChunk, 0, 5);
            }

            _bodyBuffer.Dispose();
            _response.Abort();

            _bodyBuffer  = null;
            _response    = null;
            _innerStream = null;
        }
コード例 #2
0
        public override void Close()
        {
            if (_disposed)
            {
                return;
            }

            _disposed = true;

            var stream  = getHeaders(true);
            var chunked = _response.SendChunked;

            byte [] bytes = null;
            if (stream != null)
            {
                var start = stream.Position;
                if (chunked && !_trailerSent)
                {
                    bytes           = getChunkSizeBytes(0, true);
                    stream.Position = stream.Length;
                    stream.Write(bytes, 0, bytes.Length);
                }

                InternalWrite(
                    stream.GetBuffer(), (int)start, (int)(stream.Length - start));
                _trailerSent = true;
            }
            else if (chunked && !_trailerSent)
            {
                bytes = getChunkSizeBytes(0, true);
                InternalWrite(bytes, 0, bytes.Length);
                _trailerSent = true;
            }

            _response.Close();
        }
コード例 #3
0
ファイル: Ext.cs プロジェクト: msruzy/digimon-linkz-client
 internal static void CloseWithAuthChallenge(this WebSocketSharp.Net.HttpListenerResponse response, string challenge)
 {
     response.Headers.SetInternal("WWW-Authenticate", challenge, true);
     response.Close(WebSocketSharp.Net.HttpStatusCode.Unauthorized);
 }