feat: Sandbox 모드 미들웨어 구현 (#34)
- SandboxMiddleware 추가: X-SPMS-TEST 헤더로 테스트 모드 감지 - HttpContext.Items["IsSandbox"] 플래그 설정 - 미들웨어 파이프라인 14번 위치에 등록 Closes #34
This commit is contained in:
parent
c49807c985
commit
9185afd5e9
|
|
@ -62,8 +62,8 @@ public static class ApplicationBuilderExtensions
|
||||||
// -- 13. X-API-KEY 검증 (SDK/디바이스 엔드포인트용) --
|
// -- 13. X-API-KEY 검증 (SDK/디바이스 엔드포인트용) --
|
||||||
app.UseMiddleware<ApiKeyMiddleware>();
|
app.UseMiddleware<ApiKeyMiddleware>();
|
||||||
|
|
||||||
// -- 14. X-SPMS-TEST 샌드박스 모드 (미구현 — Issue #14) --
|
// -- 14. X-SPMS-TEST 샌드박스 모드 --
|
||||||
// app.UseMiddleware<SandboxMiddleware>();
|
app.UseMiddleware<SandboxMiddleware>();
|
||||||
|
|
||||||
// -- 15. Swagger UI (개발 환경만) --
|
// -- 15. Swagger UI (개발 환경만) --
|
||||||
if (app.Environment.IsDevelopment())
|
if (app.Environment.IsDevelopment())
|
||||||
|
|
|
||||||
16
SPMS.API/Middlewares/SandboxMiddleware.cs
Normal file
16
SPMS.API/Middlewares/SandboxMiddleware.cs
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
namespace SPMS.API.Middlewares;
|
||||||
|
|
||||||
|
public class SandboxMiddleware
|
||||||
|
{
|
||||||
|
private readonly RequestDelegate _next;
|
||||||
|
|
||||||
|
public SandboxMiddleware(RequestDelegate next) => _next = next;
|
||||||
|
|
||||||
|
public async Task InvokeAsync(HttpContext context)
|
||||||
|
{
|
||||||
|
var isTest = context.Request.Headers["X-SPMS-TEST"].FirstOrDefault();
|
||||||
|
context.Items["IsSandbox"] = string.Equals(isTest, "true", StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
|
await _next(context);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user