diff options
Diffstat (limited to 'middleware.ts')
| -rw-r--r-- | middleware.ts | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/middleware.ts b/middleware.ts index e74cb653..2ff8408e 100644 --- a/middleware.ts +++ b/middleware.ts @@ -82,22 +82,6 @@ function getDashboardPath(domain: string, lng: string): string { } } -// 도메인별 로그인 페이지 경로 정의 -function getLoginPath(domain: string, lng: string): string { - switch (domain) { - case 'partners': - return `/${lng}/partners`; - case 'pending': - return `/${lng}/pending`; - case 'evcp': - case 'procurement': - case 'sales': - case 'engineering': - default: - return `/${lng}/evcp`; - } -} - // 도메인-URL 일치 여부 확인 및 올바른 리다이렉트 경로 반환 function getDomainRedirectPath(path: string, domain: string, lng: string) { // 도메인이 없는 경우 리다이렉트 없음 @@ -107,14 +91,14 @@ function getDomainRedirectPath(path: string, domain: string, lng: string) { const domainPatterns = { pending: `/pending`, evcp: `/evcp`, - procurement: `/procurement`, - sales: `/sales`, - engineering: `/engineering`, + procurement: `/evcp`, + sales: `/evcp`, + engineering: `/evcp`, partners: `/partners` }; // 현재 경로가 어떤 도메인 패턴에 속하는지 확인 - let currentPathDomain = null; + let currentPathDomain: string | null = null; for (const [domainName, pattern] of Object.entries(domainPatterns)) { // 정확한 매칭을 위해 언어 코드를 포함한 전체 패턴으로 확인 const fullPattern = `/${lng}${pattern}`; @@ -332,7 +316,17 @@ export async function middleware(request: NextRequest) { /** * 10. 위 조건에 걸리지 않았다면 그대로 Next.js로 넘긴다. */ - const response = NextResponse.next(); + /** + * 10. 위 조건에 걸리지 않았다면 그대로 Next.js로 넘긴다. + */ + const requestHeaders = new Headers(request.headers); + requestHeaders.set('x-pathname', pathname); + + const response = NextResponse.next({ + request: { + headers: requestHeaders, + }, + }); // 만료된 세션 쿠키 정리 (공개 경로 포함) if (token) { |
