public void TestHeaderNameValue() { var header = RequestHeader.Of(RequestHeader.Accept, "text/plain"); Assert.Equal(RequestHeader.Accept, header.Name); Assert.Equal("text/plain", header.Value); }
public Request WithHeader(string name, string value) => new Request( Method, Uri, Version, Http.Headers.Empty <RequestHeader>().And(Headers).And(RequestHeader.Of(name, value)), Body);
public void AddingHandlerHeader() { var hostHeader = RequestHeader.Of("Host", "www.vlingo.io"); var request = Request.Has(Method.Get) .And("/user?filter=abc".ToMatchableUri()) .And(Headers.Of(hostHeader)) .And(Version.Http1_1); var mappedParameters = new Action.MappedParameters(1, Method.Get, "ignored", new List <Action.MappedParameter>()); var handler = new RequestHandler0(Method.Get, "/user").Header("Host"); AssertResolvesAreEquals(ParameterResolver.Header("Host"), handler.Resolver); Assert.Equal(hostHeader, handler.Resolver.Apply(request, mappedParameters)); }
public ICompletes <Response> RequestWith(Request request, ICompletes <Response> completes) { _completesEventually = Stage.World.CompletesFor(completes); if (_testId != EmptyTestId) { request.Headers.Add(RequestHeader.Of(Client.ClientIdCustomHeader, _testId)); request.Headers.Add(RequestHeader.Of(RequestHeader.XCorrelationID, _testId)); } _requestSender.SendRequest(request); StowMessages(typeof(IResponseChannelConsumer)); return(completes); }
public ICompletes <Response> RequestWith(Request request, ICompletes <Response> completes) { var correlationId = request.Headers.HeaderOf(RequestHeader.XCorrelationID); Request readyRequest; if (correlationId == null) { correlationId = RequestHeader.Of(RequestHeader.XCorrelationID, _randomUuidGenerator.GenerateGuid().ToString()); readyRequest = request.And(correlationId); } else { readyRequest = request; } _completables[correlationId !.Value !] = Stage.World.CompletesFor(completes);
public void AddingHandlerBodyWithMediaTypeMapper() { var request = Request.Has(Method.Post) .And("/user/admin/name".ToMatchableUri()) .And(Body.From("{\"given\":\"John\",\"family\":\"Doe\"}")) .And(RequestHeader.Of(RequestHeader.ContentType, "application/json")) .And(Version.Http1_1); var mappedParameters = new Action.MappedParameters(1, Method.Post, "ignored", new List <Action.MappedParameter> { new Action.MappedParameter("String", "admin") }); var handler1 = new RequestHandler0(Method.Get, "/user/admin/name").Body <NameData>(); AssertResolvesAreEquals(ParameterResolver.Body <NameData>(DefaultMediaTypeMapper.Instance), handler1.Resolver); Assert.Equal(new NameData("John", "Doe"), handler1.Resolver.Apply(request, mappedParameters)); }
public void AddingHandlerHeader() { var hostHeader = RequestHeader.Of("Host", "www.vlingo.io"); var request = Request.Has(Method.Get) .And("/user/admin".ToMatchableUri()) .And(Headers.Of(hostHeader)) .And(Version.Http1_1); var mappedParameters = new Action.MappedParameters(1, Method.Get, "ignored", Enumerable.Empty <Action.MappedParameter>().ToList()); var handler = CreateRequestHandler( Method.Get, "/user/{userId}", ParameterResolver.Path <string>(0)) .Header("Host"); AssertResolvesAreEquals(ParameterResolver.Header("Host"), handler.ResolverParam2); Assert.Equal(hostHeader, handler.ResolverParam2.Apply(request, mappedParameters)); }
private Request EnrichRequest(RequestResponseContext requestResponseContext, Request request) { try { var remoteAddress = requestResponseContext.RemoteAddress(); if (!string.IsNullOrEmpty(remoteAddress)) { request.Headers.Add(RequestHeader.Of(RequestHeader.XForwardedFor, remoteAddress !)); } else { _serverActor.Logger.Error("Unable to enrich request headers"); } } catch (Exception exception) { _serverActor.Logger.Error("Unable to enrich request headers", exception); } return(request); }
public void AddingHandlerHeader() { var hostHeader = RequestHeader.Of("Host", "www.vlingo.io"); var request = Request.Has(Method.Get) .And("/posts/my-post/comment/my-comment".ToMatchableUri()) .And(Headers.Of(hostHeader)) .And(Version.Http1_1); var mappedParameters = new Action.MappedParameters(1, Method.Get, "ignored", Enumerable.Empty <Action.MappedParameter>().ToList()); var handler = CreateRequestHandler( Method.Get, "/posts/{postId}/comment/{commentId}/votes/{votesNumber}", ParameterResolver.Path <string>(0), ParameterResolver.Path <string>(1), ParameterResolver.Path <string>(2), ParameterResolver.Query("page", 10) ) .Header("Host"); AssertResolvesAreEquals(ParameterResolver.Header("Host"), handler.ResolverParam5); Assert.Equal(hostHeader, handler.ResolverParam5.Apply(request, mappedParameters)); }