From cbd84015822d0440bc1a2c3bd4097d54f64dc904 Mon Sep 17 00:00:00 2001 From: Chris Ross Date: Tue, 18 Mar 2014 10:22:47 -0700 Subject: [PATCH] Fill in OnSendingHeaders, Redirect, IsSecure. --- src/Microsoft.AspNet.Abstractions/HttpResponse.cs | 8 +++++++- .../DefaultHttpRequest.cs | 2 +- .../DefaultHttpResponse.cs | 15 ++++++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNet.Abstractions/HttpResponse.cs b/src/Microsoft.AspNet.Abstractions/HttpResponse.cs index 8df6277482..add21b64b8 100644 --- a/src/Microsoft.AspNet.Abstractions/HttpResponse.cs +++ b/src/Microsoft.AspNet.Abstractions/HttpResponse.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using System.Threading.Tasks; namespace Microsoft.AspNet.Abstractions @@ -16,6 +17,11 @@ namespace Microsoft.AspNet.Abstractions public abstract string ContentType { get; set; } public abstract IResponseCookiesCollection Cookies { get; } + + public abstract void OnSendingHeaders(Action callback, object state); + + public abstract void Redirect(string location); + public abstract Task WriteAsync(string data); } } diff --git a/src/Microsoft.AspNet.PipelineCore/DefaultHttpRequest.cs b/src/Microsoft.AspNet.PipelineCore/DefaultHttpRequest.cs index 188cf06102..b091197a70 100644 --- a/src/Microsoft.AspNet.PipelineCore/DefaultHttpRequest.cs +++ b/src/Microsoft.AspNet.PipelineCore/DefaultHttpRequest.cs @@ -112,7 +112,7 @@ namespace Microsoft.AspNet.PipelineCore public override bool IsSecure { - get { throw new NotImplementedException(); } + get { return string.Equals("https", Scheme, StringComparison.OrdinalIgnoreCase); } } public override HostString Host diff --git a/src/Microsoft.AspNet.PipelineCore/DefaultHttpResponse.cs b/src/Microsoft.AspNet.PipelineCore/DefaultHttpResponse.cs index 4351f7a18d..7f1fc3229a 100644 --- a/src/Microsoft.AspNet.PipelineCore/DefaultHttpResponse.cs +++ b/src/Microsoft.AspNet.PipelineCore/DefaultHttpResponse.cs @@ -1,4 +1,5 @@ -using System.Globalization; +using System; +using System.Globalization; using System.IO; using System.Text; using System.Threading.Tasks; @@ -89,6 +90,18 @@ namespace Microsoft.AspNet.PipelineCore { get { return CanHasResponseCookies.Cookies; } } + + public override void OnSendingHeaders(Action callback, object state) + { + HttpResponseInformation.OnSendingHeaders(callback, state); + } + + public override void Redirect(string location) + { + HttpResponseInformation.StatusCode = 302; + Headers.Set(Constants.Headers.Location, location); + } + public override Task WriteAsync(string data) { var bytes = Encoding.UTF8.GetBytes(data);