mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 16:12:49 -05:00
[SM-153] Add scaffolded API integration test project (#2209)
This commit is contained in:
36
test/IntegrationTestCommon/FakeRemoteIpAddressMiddleware.cs
Normal file
36
test/IntegrationTestCommon/FakeRemoteIpAddressMiddleware.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Net;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace Bit.IntegrationTestCommon;
|
||||
|
||||
public class FakeRemoteIpAddressMiddleware
|
||||
{
|
||||
private readonly RequestDelegate _next;
|
||||
private readonly IPAddress _fakeIpAddress;
|
||||
|
||||
public FakeRemoteIpAddressMiddleware(RequestDelegate next, IPAddress fakeIpAddress = null)
|
||||
{
|
||||
_next = next;
|
||||
_fakeIpAddress = fakeIpAddress ?? IPAddress.Parse("127.0.0.1");
|
||||
}
|
||||
|
||||
public async Task Invoke(HttpContext httpContext)
|
||||
{
|
||||
httpContext.Connection.RemoteIpAddress ??= _fakeIpAddress;
|
||||
await _next(httpContext);
|
||||
}
|
||||
}
|
||||
|
||||
public class CustomStartupFilter : IStartupFilter
|
||||
{
|
||||
public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
|
||||
{
|
||||
return app =>
|
||||
{
|
||||
app.UseMiddleware<FakeRemoteIpAddressMiddleware>();
|
||||
next(app);
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user