Ejemplo n.º 1
0
    public void TestHeaderNameValue()
    {
        var header = RequestHeader.Of(RequestHeader.Accept, "text/plain");

        Assert.Equal(RequestHeader.Accept, header.Name);
        Assert.Equal("text/plain", header.Value);
    }
Ejemplo n.º 2
0
 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));
        }
Ejemplo n.º 4
0
    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);
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
            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);
            }
Ejemplo n.º 9
0
        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));
        }