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); }
private void WhenAddingHeader(string headerKey, string headerValue) { _addedHeader = new AddHeader(headerKey, headerValue); _addHeadersToRequest.SetHeadersOnDownstreamRequest(new[] { _addedHeader }, _context); }