public async Task CanGetAndSetMethod(HttpPipelineMethod method, string expectedMethod) { HttpMethod httpMethod = null; var mockHandler = new MockHttpClientHandler( httpRequestMessage => { httpMethod = httpRequestMessage.Method; }); var transport = new HttpClientTransport(new HttpClient(mockHandler)); var request = transport.CreateRequest(null); request.SetRequestLine(method, new Uri("http://example.com:340")); Assert.AreEqual(method, request.Method); await ExecuteRequest(request, transport); Assert.AreEqual(expectedMethod, httpMethod.Method); }
private Request CreateRequest(HttpPipelineMethod method, params string[] path) { Request request = _pipeline.CreateRequest(); request.Headers.Add(HttpHeader.Common.JsonContentType); request.Headers.Add(HttpHeader.Common.JsonAccept); request.Method = method; request.UriBuilder.Uri = _vaultUri; foreach (var p in path) { if (!string.IsNullOrEmpty(p)) { request.UriBuilder.AppendPath(p); } } request.UriBuilder.AppendQuery("api-version", ApiVersion); return(request); }
public static string ToString(HttpPipelineMethod method) { switch (method) { case HttpPipelineMethod.Get: return("GET"); case HttpPipelineMethod.Post: return("POST"); case HttpPipelineMethod.Put: return("PUT"); case HttpPipelineMethod.Patch: return("PATCH"); case HttpPipelineMethod.Delete: return("DELETE"); default: throw new ArgumentOutOfRangeException(nameof(method), method, null); } }
private async Task <Response <TResult> > SendRequestAsync <TContent, TResult>(HttpPipelineMethod method, TContent content, Func <TResult> resultFactory, CancellationToken cancellationToken, params string[] path) where TContent : Model where TResult : Model { using (Request request = CreateRequest(method, path)) { request.Content = HttpPipelineRequestContent.Create(content.Serialize()); Response response = await SendRequestAsync(request, cancellationToken); return(this.CreateResponse(response, resultFactory())); } }
public virtual void SetRequestLine(HttpPipelineMethod method, Uri uri) { Method = method; Uri = uri; }