From f724fefbda83e1ece95b8b5ef390e52e737e5d7b Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Thu, 25 Jun 2015 17:28:07 -0700 Subject: [PATCH] React to HttpChanges --- src/Kestrel/ServerRequest.cs | 8 +-- .../Http/Frame.cs | 60 +++++++++---------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/Kestrel/ServerRequest.cs b/src/Kestrel/ServerRequest.cs index 47d9905afb..5edfda327d 100644 --- a/src/Kestrel/ServerRequest.cs +++ b/src/Kestrel/ServerRequest.cs @@ -199,14 +199,14 @@ namespace Kestrel get { return _frame.HasResponseStarted; } } - void IHttpResponseFeature.OnResponseStarting(Action callback, object state) + void IHttpResponseFeature.OnStarting(Func callback, object state) { - _frame.OnResponseStarting(callback, state); + _frame.OnStarting(callback, state); } - void IHttpResponseFeature.OnResponseCompleted(Action callback, object state) + void IHttpResponseFeature.OnCompleted(Func callback, object state) { - _frame.OnResponseCompleted(callback, state); + _frame.OnCompleted(callback, state); } bool IHttpUpgradeFeature.IsUpgradableRequest diff --git a/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs b/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs index 3a9277f85c..1b86736968 100644 --- a/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs +++ b/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs @@ -63,10 +63,10 @@ namespace Microsoft.AspNet.Server.Kestrel.Http CancellationTokenSource _cts = new CancellationTokenSource(); */ - List, object>> _onResponseStarting; - List, object>> _onResponseCompleted; - object _onResponseStartingSync = new Object(); - object _onResponseCompletedSync = new Object(); + List, object>> _onStarting; + List, object>> _onCompleted; + object _onStartingSync = new Object(); + object _onCompletedSync = new Object(); public Frame(ConnectionContext context) : base(context) { @@ -190,58 +190,58 @@ namespace Microsoft.AspNet.Server.Kestrel.Http Task.Run(ExecuteAsync); } - public void OnResponseStarting(Action callback, object state) + public void OnStarting(Func callback, object state) { - lock (_onResponseStartingSync) + lock (_onStartingSync) { - if (_onResponseStarting == null) + if (_onStarting == null) { - _onResponseStarting = new List, object>>(); + _onStarting = new List, object>>(); } - _onResponseStarting.Add(new KeyValuePair, object>(callback, state)); + _onStarting.Add(new KeyValuePair, object>(callback, state)); } } - public void OnResponseCompleted(Action callback, object state) + public void OnCompleted(Func callback, object state) { - lock (_onResponseCompletedSync) + lock (_onCompletedSync) { - if (_onResponseCompleted == null) + if (_onCompleted == null) { - _onResponseCompleted = new List, object>>(); + _onCompleted = new List, object>>(); } - _onResponseCompleted.Add(new KeyValuePair, object>(callback, state)); + _onCompleted.Add(new KeyValuePair, object>(callback, state)); } } - private void FireOnResponseStarting() + private void FireOnStarting() { - List, object>> onResponseStarting = null; - lock (_onResponseStartingSync) + List, object>> onStarting = null; + lock (_onStartingSync) { - onResponseStarting = _onResponseStarting; - _onResponseStarting = null; + onStarting = _onStarting; + _onStarting = null; } - if (onResponseStarting != null) + if (onStarting != null) { - foreach (var entry in onResponseStarting) + foreach (var entry in onStarting) { entry.Key.Invoke(entry.Value); } } } - private void FireOnResponseCompleted() + private void FireOnCompleted() { - List, object>> onResponseCompleted = null; - lock (_onResponseCompletedSync) + List, object>> onCompleted = null; + lock (_onCompletedSync) { - onResponseCompleted = _onResponseCompleted; - _onResponseCompleted = null; + onCompleted = _onCompleted; + _onCompleted = null; } - if (onResponseCompleted != null) + if (onCompleted != null) { - foreach (var entry in onResponseCompleted) + foreach (var entry in onCompleted) { try { @@ -268,7 +268,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http } finally { - FireOnResponseCompleted(); + FireOnCompleted(); ProduceEnd(error); } } @@ -318,7 +318,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http if (_resultStarted) return; _resultStarted = true; - FireOnResponseStarting(); + FireOnStarting(); _responseStarted = true;