From 045a6eb4bac5da41ed1a0953e137e1ae7826b5ea Mon Sep 17 00:00:00 2001 From: Chris Ross Date: Thu, 30 Oct 2014 14:16:04 -0700 Subject: [PATCH] Add new HeadersSent API. --- src/Kestrel/ServerRequest.cs | 5 +++++ src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/src/Kestrel/ServerRequest.cs b/src/Kestrel/ServerRequest.cs index b167f50278..27398ca987 100644 --- a/src/Kestrel/ServerRequest.cs +++ b/src/Kestrel/ServerRequest.cs @@ -175,6 +175,11 @@ namespace Kestrel } } + bool IHttpResponseFeature.HeadersSent + { + get { return _frame.HeadersSent; } + } + void IHttpResponseFeature.OnSendingHeaders(Action callback, object state) { _frame.OnSendingHeaders(callback, state); diff --git a/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs b/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs index 1f8552459b..c20ae236b1 100644 --- a/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs +++ b/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs @@ -54,6 +54,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http Mode _mode; private bool _resultStarted; + private bool _headersSent; private bool _keepAlive; /* @@ -89,6 +90,10 @@ namespace Microsoft.AspNet.Server.Kestrel.Http public Stream DuplexStream { get; set; } + public bool HeadersSent + { + get { return _headersSent; } + } /* @@ -276,6 +281,8 @@ namespace Microsoft.AspNet.Server.Kestrel.Http FireOnSendingHeaders(); + _headersSent = true; + var status = ReasonPhrases.ToStatus(StatusCode, ReasonPhrase); var responseHeader = CreateResponseHeader(status, ResponseHeaders);