Skip to content
This repository has been archived by the owner on Jan 24, 2021. It is now read-only.

Remove version header from NancyEngine (Issue #489) #554

Merged
merged 1 commit into from
Mar 14, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 3 additions & 44 deletions src/Nancy.Tests/Unit/NancyEngineFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -134,58 +134,17 @@ public void HandleRequest_should_set_correct_response_on_returned_context()
}

[Fact]
public void Should_add_nancy_version_number_header_on_returned_response()
public void Should_not_add_nancy_version_number_header_on_returned_response()
{
// NOTE: Regression for removal of nancy-version from response headers
// Given
var request = new Request("GET", "/", "http");

// When
var result = this.engine.HandleRequest(request);

// Then
result.Response.Headers.ContainsKey("Nancy-Version").ShouldBeTrue();
}

[Fact]
public void Should_not_throw_exception_when_setting_nancy_version_header_and_it_already_existed()
{
// Given
var cachedResponse = new Response();
cachedResponse.Headers.Add("Nancy-Version", "1.2.3.4");
Func<NancyContext, Response> preRequestHook = (ctx) => cachedResponse;

var prePostResolver = A.Fake<IRouteResolver>();
A.CallTo(() => prePostResolver.Resolve(A<NancyContext>.Ignored)).Returns(new ResolveResult(route, DynamicDictionary.Empty, preRequestHook, null));

var pipelines = new Pipelines();

var localEngine =
new NancyEngine(prePostResolver, contextFactory, new[] { this.errorHandler }, A.Fake<IRequestTracing>())
{
RequestPipelinesFactory = ctx => pipelines
};

var request = new Request("GET", "/", "http");

// When
var exception = Record.Exception(() => localEngine.HandleRequest(request));

// Then
exception.ShouldBeNull();
}

[Fact]
public void Should_set_nancy_version_number_on_returned_response()
{
// Given
var request = new Request("GET", "/", "http");
var nancyVersion = typeof(INancyEngine).Assembly.GetName().Version;

// When
var result = this.engine.HandleRequest(request);

// Then
result.Response.Headers["Nancy-Version"].ShouldEqual(nancyVersion.ToString());
result.Response.Headers.ContainsKey("Nancy-Version").ShouldBeFalse();
}

[Fact]
Expand Down
14 changes: 0 additions & 14 deletions src/Nancy/NancyEngine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ public NancyContext HandleRequest(Request request)
this.RequestPipelinesFactory.Invoke(context);

this.InvokeRequestLifeCycle(context, pipelines);
AddNancyVersionHeaderToResponse(context);

CheckErrorHandler(context);

Expand Down Expand Up @@ -178,19 +177,6 @@ public void HandleRequest(Request request, Action<NancyContext> onComplete, Acti
});
}

private static void AddNancyVersionHeaderToResponse(NancyContext context)
{
if (context.Response == null)
{
return;
}

var version =
typeof(INancyEngine).Assembly.GetName().Version;

context.Response.Headers["Nancy-Version"] = version.ToString();
}

private void CheckErrorHandler(NancyContext context)
{
if (context.Response == null)
Expand Down