diff --git a/packages/rlc-common/src/buildClient.ts b/packages/rlc-common/src/buildClient.ts index 0374283fa6..3719f1e954 100644 --- a/packages/rlc-common/src/buildClient.ts +++ b/packages/rlc-common/src/buildClient.ts @@ -391,7 +391,7 @@ export function getClientFactoryBody( client.pipeline.addPolicy({ name: "customKeyCredentialPolicy", async sendRequest(request, next) { - request.headers.set("Authorization", "bearer " + credentials.key); + request.headers.set("Authorization", "Bearer " + credentials.key); return next(request); }, }); diff --git a/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/rest/openAIClient.ts b/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/rest/openAIClient.ts index 36c1c11655..4aac636178 100644 --- a/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/rest/openAIClient.ts +++ b/packages/typespec-test/test/openai_generic/generated/typespec-ts/src/rest/openAIClient.ts @@ -44,7 +44,7 @@ export default function createClient( client.pipeline.addPolicy({ name: "customKeyCredentialPolicy", async sendRequest(request, next) { - request.headers.set("Authorization", "bearer " + credentials.key); + request.headers.set("Authorization", "Bearer " + credentials.key); return next(request); }, }); diff --git a/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/rest/openAIClient.ts b/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/rest/openAIClient.ts index d927ba7d23..15ab0d850e 100644 --- a/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/rest/openAIClient.ts +++ b/packages/typespec-test/test/openai_non_branded/generated/typespec-ts/src/rest/openAIClient.ts @@ -34,7 +34,7 @@ export default function createClient( client.pipeline.addPolicy({ name: "customKeyCredentialPolicy", async sendRequest(request, next) { - request.headers.set("Authorization", "bearer " + credentials.key); + request.headers.set("Authorization", "Bearer " + credentials.key); return next(request); }, }); diff --git a/packages/typespec-test/test/todo_non_branded/generated/typespec-ts/src/todoClient.ts b/packages/typespec-test/test/todo_non_branded/generated/typespec-ts/src/todoClient.ts index 6d4e4a3d03..b78e158915 100644 --- a/packages/typespec-test/test/todo_non_branded/generated/typespec-ts/src/todoClient.ts +++ b/packages/typespec-test/test/todo_non_branded/generated/typespec-ts/src/todoClient.ts @@ -36,7 +36,7 @@ export default function createClient( client.pipeline.addPolicy({ name: "customKeyCredentialPolicy", async sendRequest(request, next) { - request.headers.set("Authorization", "bearer " + credentials.key); + request.headers.set("Authorization", "Bearer " + credentials.key); return next(request); }, }); diff --git a/packages/typespec-ts/src/transform/transfromRLCOptions.ts b/packages/typespec-ts/src/transform/transfromRLCOptions.ts index 35170ec587..248dce95dc 100644 --- a/packages/typespec-ts/src/transform/transfromRLCOptions.ts +++ b/packages/typespec-ts/src/transform/transfromRLCOptions.ts @@ -1,4 +1,5 @@ import { + pascalCase, NameType, normalizeName, PackageDetails, @@ -106,7 +107,13 @@ function processAuth(program: Program) { case "http": securityInfo.addCredentials = true; securityInfo.customHttpAuthHeaderName = "Authorization"; - securityInfo.customHttpAuthSharedKeyPrefix = auth.scheme; + // If it is basic or bearer auth we should generate it as Basic or Bearer + securityInfo.customHttpAuthSharedKeyPrefix = [ + "basic", + "bearer" + ].includes(auth.scheme.toLowerCase()) + ? pascalCase(auth.scheme) + : auth.scheme; break; case "apiKey": if (auth.in === "cookie") { diff --git a/packages/typespec-ts/test/unit/clientFactoryGenerator.spec.ts b/packages/typespec-ts/test/unit/clientFactoryGenerator.spec.ts index f3e667cf97..edad19d42d 100644 --- a/packages/typespec-ts/test/unit/clientFactoryGenerator.spec.ts +++ b/packages/typespec-ts/test/unit/clientFactoryGenerator.spec.ts @@ -601,7 +601,7 @@ describe("Client Factory generation", () => { client.pipeline.addPolicy({ name: "customKeyCredentialPolicy", async sendRequest(request, next) { - request.headers.set("Authorization", "bearer " + credentials.key); + request.headers.set("Authorization", "Bearer " + credentials.key); return next(request); }, });