Skip to content

Commit f6ea157

Browse files
Include additional headers for Next.js keyless app creation
1 parent 8b52d7a commit f6ea157

File tree

1 file changed

+40
-2
lines changed

1 file changed

+40
-2
lines changed

packages/nextjs/src/server/keyless-custom-headers.ts

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1+
'use server';
2+
13
import { headers } from 'next/headers';
24

35
interface MetadataHeaders {
46
nodeVersion?: string;
57
nextVersion?: string;
68
npmConfigUserAgent?: string;
7-
userAgent?: string;
9+
userAgent: string;
10+
port?: string;
11+
host: string;
12+
xHost: string;
13+
xPort: string;
14+
xProtocol: string;
15+
xClerkAuthStatus: string;
816
}
917

1018
/**
@@ -17,7 +25,13 @@ export async function collectKeylessMetadata(): Promise<MetadataHeaders> {
1725
nodeVersion: process.version,
1826
nextVersion: getNextVersion(),
1927
npmConfigUserAgent: process.env.npm_config_user_agent, // eslint-disable-line
20-
userAgent: headerStore.get('User-Agent') ?? undefined,
28+
userAgent: headerStore.get('User-Agent') ?? 'unknown user-agent',
29+
port: process.env.PORT, // eslint-disable-line
30+
host: headerStore.get('host') ?? 'unknown host',
31+
xPort: headerStore.get('x-forwarded-port') ?? 'unknown x-forwarded-port',
32+
xHost: headerStore.get('x-forwarded-host') ?? 'unknown x-forwarded-host',
33+
xProtocol: headerStore.get('x-forwarded-proto') ?? 'unknown x-forwarded-proto',
34+
xClerkAuthStatus: headerStore.get('x-clerk-auth-status') ?? 'unknown x-clerk-auth-status',
2135
};
2236
}
2337

@@ -54,5 +68,29 @@ export function formatMetadataHeaders(metadata: MetadataHeaders): Headers {
5468
headers.set('Clerk-Client-User-Agent', metadata.userAgent);
5569
}
5670

71+
if (metadata.port) {
72+
headers.set('Clerk-Node-Port', metadata.port);
73+
}
74+
75+
if (metadata.host) {
76+
headers.set('Clerk-Client-host', metadata.host);
77+
}
78+
79+
if (metadata.xPort) {
80+
headers.set('Clerk-X-Port', metadata.xPort);
81+
}
82+
83+
if (metadata.xHost) {
84+
headers.set('Clerk-X-Host', metadata.xHost);
85+
}
86+
87+
if (metadata.xProtocol) {
88+
headers.set('Clerk-X-protocol', metadata.xProtocol);
89+
}
90+
91+
if (metadata.xClerkAuthStatus) {
92+
headers.set('Clerk-Auth-Status', metadata.xClerkAuthStatus);
93+
}
94+
5795
return headers;
5896
}

0 commit comments

Comments
 (0)