Ejemplo n.º 1
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseExceptionHandler(new ExceptionHandlerOptions
            {
                ExceptionHandler = new ExceptionHandler().Invoke
            });

            var configuration = new OcelotPipelineConfiguration
            {
                AuthorisationMiddleware = async(ctx, next) =>
                {
                    var user = ctx.HttpContext.User;

                    var userIdentityHeader = new AddHeader("userIdentity", "");
                    ctx.DownstreamReRoute.AddHeadersToUpstream.Add(userIdentityHeader);

                    await next.Invoke();
                }
            };

            app.UseCors("*");

            app.UseAuthentication();

            app.UseWebSockets();
            app.UseOcelot(configuration).Wait();

            app.UseMvc();
        }
        public void should_add_upstream_header_as_is_when_no_replacement_is_given()
        {
            var reRoute = new FileReRoute
            {
                UpstreamHeaderTransform = new Dictionary <string, string>
                {
                    { "X-Custom-Header", "Value" },
                }
            };

            var expected = new AddHeader("X-Custom-Header", "Value");

            this.Given(x => GivenTheReRoute(reRoute))
            .And(x => WhenICreate())
            .Then(x => x.ThenTheFollowingAddHeaderToUpstreamIsReturned(expected))
            .BDDfy();
        }
        public void should_add_trace_id_header()
        {
            var reRoute = new FileReRoute
            {
                DownstreamHeaderTransform = new Dictionary <string, string>
                {
                    { "Trace-Id", "{TraceId}" },
                }
            };

            var expected = new AddHeader("Trace-Id", "{TraceId}");

            this.Given(x => GivenTheReRoute(reRoute))
            .And(x => GivenTheBaseUrlIs("http://ocelot.com/"))
            .When(x => WhenICreate())
            .Then(x => ThenTheFollowingAddHeaderToDownstreamIsReturned(expected))
            .BDDfy();
        }
        public void should_create_with_add_headers_to_request()
        {
            const string key   = "X-Forwarded-For";
            const string value = "{RemoteIpAddress}";

            var reRoute = new FileReRoute
            {
                UpstreamHeaderTransform = new Dictionary <string, string>
                {
                    { key, value },
                }
            };

            var expected = new AddHeader(key, value);

            this.Given(x => GivenTheReRoute(reRoute))
            .When(x => WhenICreate())
            .Then(x => ThenTheFollowingAddHeaderToUpstreamIsReturned(expected))
            .BDDfy();
        }
        public IHttpActionResult AddHeaderToDocument([FromUri] Guid document_id, [FromBody] AddHeader header)
        {
            if (IsTokenValid() && authenticationService.IsAllowedToUpdateDocument(GetTokenUserEmail(), document_id))
            {
                try
                {
                    Header     newHeader      = headerManagementService.Add(document_id, AddHeader.ToEntity(header));
                    BaseHeader modelNewHeader = BaseHeader.ToModel(newHeader);
                    documentLogger.LogModificationToDocument(document_id);

                    return(CreatedAtRoute("AddHeader", new { documentid = document_id, headerid = modelNewHeader.Id }, modelNewHeader));
                }
                catch (MissingDocumentException e)
                {
                    return(BadRequest(e.Message));
                }
                catch (ExistingHeaderException e)
                {
                    return(BadRequest(e.Message));
                }
            }

            return(Unauthorized());
        }
 private void ThenTheFollowingAddHeaderToUpstreamIsReturned(AddHeader addHeader)
 {
     _result.AddHeadersToUpstream[0].Key.ShouldBe(addHeader.Key);
     _result.AddHeadersToUpstream[0].Value.ShouldBe(addHeader.Value);
 }
Ejemplo n.º 7
0
 private void WhenAddingHeader(string headerKey, string headerValue)
 {
     _addedHeader = new AddHeader(headerKey, headerValue);
     _addHeadersToRequest.SetHeadersOnDownstreamRequest(new[] { _addedHeader }, _context);
 }