本文整理汇总了C#中RuntimePipeline.AddHandler方法的典型用法代码示例。如果您正苦于以下问题:C# RuntimePipeline.AddHandler方法的具体用法?C# RuntimePipeline.AddHandler怎么用?C# RuntimePipeline.AddHandler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RuntimePipeline
的用法示例。
在下文中一共展示了RuntimePipeline.AddHandler方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestSignerWithBasicCredentials
public void TestSignerWithBasicCredentials()
{
var pipeline = new RuntimePipeline(new MockHandler());
pipeline.AddHandler(new Signer());
pipeline.AddHandler(new CredentialsRetriever(new BasicAWSCredentials("accessKey", "secretKey")));
var context = CreateTestContext();
var signer = new MockSigner();
((RequestContext)context.RequestContext).Signer = signer;
pipeline.InvokeSync(context);
Assert.IsTrue(context.RequestContext.IsSigned);
Assert.AreEqual(1, signer.SignCount);
}
示例2: TestSignerWithBasicCredentialsAsync
public async Task TestSignerWithBasicCredentialsAsync()
{
var pipeline = new RuntimePipeline(new MockHandler());
pipeline.AddHandler(new Signer());
pipeline.AddHandler(new CredentialsRetriever(new BasicAWSCredentials("accessKey", "secretKey")));
var context = CreateTestContext();
var signer = new MockSigner();
((RequestContext)context.RequestContext).Signer = signer;
await pipeline.InvokeAsync<AmazonWebServiceResponse>(context);
Assert.IsTrue(context.RequestContext.IsSigned);
Assert.AreEqual(1, signer.SignCount);
}
示例3: TestSignerWithAnonymousCredentials
public void TestSignerWithAnonymousCredentials()
{
var pipeline = new RuntimePipeline(new MockHandler());
pipeline.AddHandler(new Signer());
pipeline.AddHandler(new CredentialsRetriever(new AnonymousAWSCredentials()));
var context = CreateTestContext();
var signer = new MockSigner();
((RequestContext)context.RequestContext).Signer = signer;
pipeline.InvokeSync(context);
Assert.IsTrue(context.RequestContext.IsSigned);
Assert.AreEqual(0, signer.SignCount);
}
示例4: ReplaceHandlerTest
public void ReplaceHandlerTest()
{
var handlerC = new TestHandlerC();
var pipeline = new RuntimePipeline(handlerC);
var handlerB = new TestHandlerB();
pipeline.AddHandler(handlerB);
var handlerA = new TestHandlerA();
//A->B->C
pipeline.AddHandler(handlerA);
ValidatePipeline(pipeline, handlerA, handlerB, handlerC);
var handlerD = new TestHandlerD();
//A->D->C
pipeline.ReplaceHandler<TestHandlerB>(handlerD);
ValidatePipeline(pipeline, handlerA, handlerD, handlerC);
Assert.IsNull(handlerB.OuterHandler);
Assert.IsNull(handlerB.InnerHandler);
}
示例5: AddHandlerTest
public void AddHandlerTest()
{
var handlerA = new TestHandlerA();
var pipeline = new RuntimePipeline(handlerA);
var handlerB = new TestHandlerB();
// B->A
pipeline.AddHandler(handlerB);
ValidatePipeline(pipeline, handlerB, handlerA);
}
示例6: TestSignerWithMutableHeader
public void TestSignerWithMutableHeader()
{
var pipeline = new RuntimePipeline(new MockHandler());
pipeline.AddHandler(new Signer());
pipeline.AddHandler(new CredentialsRetriever(new BasicAWSCredentials("accessKey", "secretKey")));
var context = CreateTestContext();
var signer = new AWS4Signer();
((RequestContext)context.RequestContext).Signer = signer;
// inject a mutable header that the signer should strip out
context.RequestContext.Request.Headers[HeaderKeys.XAmznTraceIdHeader] = "stuff";
pipeline.InvokeSync(context);
// verify that the header is not in the signature
var t = context.RequestContext.Request.Headers[HeaderKeys.AuthorizationHeader];
Assert.IsFalse(t.Contains(HeaderKeys.XAmznTraceIdHeader));
Assert.IsTrue(context.RequestContext.Request.Headers.ContainsKey(HeaderKeys.XAmznTraceIdHeader));
}
示例7: AddHandlerBeforeTest
public void AddHandlerBeforeTest()
{
var handlerD = new TestHandlerD();
var pipeline = new RuntimePipeline(handlerD);
var handlerB = new TestHandlerB();
// B->D
pipeline.AddHandler(handlerB);
var handlerA = new TestHandlerA();
// A->B->D
pipeline.AddHandlerBefore<TestHandlerB>(handlerA);
ValidatePipeline(pipeline, handlerA, handlerB, handlerD);
var handlerC = new TestHandlerC();
// A->B->C->D
pipeline.AddHandlerBefore<TestHandlerD>(handlerC);
ValidatePipeline(pipeline, handlerA, handlerB, handlerC, handlerD);
}