本文整理汇总了C#中BeforePipeline.Invoke方法的典型用法代码示例。如果您正苦于以下问题:C# BeforePipeline.Invoke方法的具体用法?C# BeforePipeline.Invoke怎么用?C# BeforePipeline.Invoke使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BeforePipeline
的用法示例。
在下文中一共展示了BeforePipeline.Invoke方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Pipeline_containing_another_pipeline_will_invoke_items_in_both_pipelines
public void Pipeline_containing_another_pipeline_will_invoke_items_in_both_pipelines()
{
// Given
var item1Called = false;
Func<NancyContext, Response> item1 = (r) => { item1Called = true; return null; };
var item2Called = false;
Func<NancyContext, Response> item2 = (r) => { item2Called = true; return null; };
var item3Called = false;
Func<NancyContext, Response> item3 = (r) => { item3Called = true; return null; };
var item4Called = false;
Func<NancyContext, Response> item4 = (r) => { item4Called = true; return null; };
pipeline += item1;
pipeline += item2;
var subPipeline = new BeforePipeline();
subPipeline += item3;
subPipeline += item4;
// When
pipeline.AddItemToEndOfPipeline(subPipeline);
pipeline.Invoke(CreateContext(), new CancellationToken());
// Then
Assert.True(item1Called);
Assert.True(item2Called);
Assert.True(item3Called);
Assert.True(item4Called);
}
示例2: Should_add_response_cookie_if_it_has_changed
public void Should_add_response_cookie_if_it_has_changed()
{
var beforePipeline = new BeforePipeline();
var afterPipeline = new AfterPipeline();
var hooks = A.Fake<IPipelines>();
A.CallTo(() => hooks.BeforeRequest).Returns(beforePipeline);
A.CallTo(() => hooks.AfterRequest).Returns(afterPipeline);
CookieBasedSessions.Enable(hooks, new CryptographyConfiguration(this.fakeEncryptionProvider, this.fakeHmacProvider)).WithSerializer(this.fakeObjectSerializer);
var request = CreateRequest("encryptedkey1=value1");
A.CallTo(() => this.fakeEncryptionProvider.Decrypt("encryptedkey1=value1")).Returns("key1=value1;");
var response = A.Fake<Response>();
var nancyContext = new NancyContext() { Request = request, Response = response };
beforePipeline.Invoke(nancyContext, new CancellationToken());
request.Session["Testing"] = "Test";
afterPipeline.Invoke(nancyContext, new CancellationToken());
response.Cookies.Count.ShouldEqual(1);
}
示例3: Should_add_response_cookie_if_it_has_changed
public void Should_add_response_cookie_if_it_has_changed()
{
var beforePipeline = new BeforePipeline();
var afterPipeline = new AfterPipeline();
var hooks = A.Fake<IApplicationPipelines>();
A.CallTo(() => hooks.BeforeRequest).Returns(beforePipeline);
A.CallTo(() => hooks.AfterRequest).Returns(afterPipeline);
CookieBasedSessions.Enable(hooks, encryptionProvider, "this passphrase", "this is a salt").WithFormatter(new Fakes.FakeSessionObjectFormatter());
var request = CreateRequest("encryptedkey1=value1");
A.CallTo(() => this.encryptionProvider.Decrypt("encryptedkey1=value1", A<string>.Ignored, A<byte[]>.Ignored)).Returns("key1=value1;");
var response = A.Fake<Response>();
var nancyContext = new NancyContext() { Request = request, Response = response };
beforePipeline.Invoke(nancyContext);
request.Session["Testing"] = "Test";
afterPipeline.Invoke(nancyContext);
response.Cookies.Count.ShouldEqual(1);
}
示例4: ExecuteRoutePreReq
private static void ExecuteRoutePreReq(NancyContext context, CancellationToken cancellationToken, BeforePipeline resolveResultPreReq)
{
if (resolveResultPreReq == null)
{
return;
}
var resolveResultPreReqResponse = resolveResultPreReq.Invoke(context, cancellationToken).Result;
if (resolveResultPreReqResponse != null)
{
context.Response = resolveResultPreReqResponse;
}
}
示例5: Should_set_formatter_when_using_formatter_selector
public void Should_set_formatter_when_using_formatter_selector()
{
var beforePipeline = new BeforePipeline();
var afterPipeline = new AfterPipeline();
var hooks = A.Fake<IPipelines>();
A.CallTo(() => hooks.BeforeRequest).Returns(beforePipeline);
A.CallTo(() => hooks.AfterRequest).Returns(afterPipeline);
var fakeFormatter = A.Fake<IObjectSerializer>();
A.CallTo(() => this.fakeEncryptionProvider.Decrypt("encryptedkey1=value1")).Returns("key1=value1;");
CookieBasedSessions.Enable(hooks, new CryptographyConfiguration(this.fakeEncryptionProvider, this.fakeHmacProvider)).WithSerializer(fakeFormatter);
var request = CreateRequest("encryptedkey1=value1");
var nancyContext = new NancyContext() { Request = request };
beforePipeline.Invoke(nancyContext, new CancellationToken());
A.CallTo(() => fakeFormatter.Deserialize(A<string>.Ignored)).MustHaveHappened(Repeated.Exactly.Once);
}
示例6: ExecuteRoutePreReq
private static Task<Response> ExecuteRoutePreReq(NancyContext context, CancellationToken cancellationToken, BeforePipeline resolveResultPreReq)
{
if (resolveResultPreReq == null)
{
return TaskHelpers.GetCompletedTask<Response>(null);
}
return resolveResultPreReq.Invoke(context, cancellationToken);
}
示例7: Should_only_not_add_response_cookie_if_it_has_not_changed
public void Should_only_not_add_response_cookie_if_it_has_not_changed()
{
var beforePipeline = new BeforePipeline();
var afterPipeline = new AfterPipeline();
var hooks = A.Fake<IApplicationPipelines>();
A.CallTo(() => hooks.BeforeRequest).Returns(beforePipeline);
A.CallTo(() => hooks.AfterRequest).Returns(afterPipeline);
CookieBasedSessions.Enable(hooks, new CryptographyConfiguration(this.fakeEncryptionProvider, this.fakeHmacProvider)).WithFormatter(new Fakes.FakeSessionObjectFormatter());
var request = CreateRequest("encryptedkey1=value1");
A.CallTo(() => this.fakeEncryptionProvider.Decrypt("encryptedkey1=value1")).Returns("key1=value1;");
var response = A.Fake<Response>();
var nancyContext = new NancyContext() { Request = request, Response = response };
beforePipeline.Invoke(nancyContext);
afterPipeline.Invoke(nancyContext);
response.Cookies.Count.ShouldEqual(0);
}
示例8: Should_set_formatter_when_using_formatter_selector
public void Should_set_formatter_when_using_formatter_selector()
{
var beforePipeline = new BeforePipeline();
var afterPipeline = new AfterPipeline();
var hooks = A.Fake<IApplicationPipelines>();
A.CallTo(() => hooks.BeforeRequest).Returns(beforePipeline);
A.CallTo(() => hooks.AfterRequest).Returns(afterPipeline);
var fakeFormatter = A.Fake<ISessionObjectFormatter>();
A.CallTo(() => this.encryptionProvider.Decrypt("encryptedkey1=value1", A<string>.Ignored, A<byte[]>.Ignored)).Returns("key1=value1;");
CookieBasedSessions.Enable(hooks, encryptionProvider, "this passphrase", "this is a salt").WithFormatter(fakeFormatter);
var request = CreateRequest("encryptedkey1=value1");
var nancyContext = new NancyContext() { Request = request };
beforePipeline.Invoke(nancyContext);
A.CallTo(() => fakeFormatter.Deserialize(A<string>.Ignored)).MustHaveHappened(Repeated.Exactly.Once);
}