From 6da29de0349e9ad41f26c3394512b8618485464e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20F=C3=B6ldi?= Date: Fri, 19 Apr 2024 21:08:18 +0000 Subject: [PATCH] Add extraHeaders config option --- cli/src/services/document.ts | 4 +++- cli/src/services/project-fetcher.ts | 3 ++- cli/src/types/config.ts | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cli/src/services/document.ts b/cli/src/services/document.ts index e64ffa329..c1a93030d 100644 --- a/cli/src/services/document.ts +++ b/cli/src/services/document.ts @@ -33,6 +33,7 @@ export default class Document { paths: string[]; readonly apiKey: string; readonly apiUrl: string; + readonly extraHeaders: Record; readonly projectId: string | null | undefined; readonly config: DocumentConfig; readonly target: string; @@ -41,6 +42,7 @@ export default class Document { this.config = this.resolveNamePattern(documentConfig); this.apiKey = config.apiKey; this.apiUrl = config.apiUrl; + this.extraHeaders = config.extraHeaders || {}; this.projectId = config.project; this.target = this.config.target; this.paths = new Tree(this.config).list(); @@ -246,7 +248,7 @@ export default class Document { } private authorizationHeader() { - return {authorization: `Bearer ${this.apiKey}`}; + return {authorization: `Bearer ${this.apiKey}`, ...this.extraHeaders}; } private resolveNamePattern(config: DocumentConfig) { diff --git a/cli/src/services/project-fetcher.ts b/cli/src/services/project-fetcher.ts index e72b9f8e4..c101d5bc7 100644 --- a/cli/src/services/project-fetcher.ts +++ b/cli/src/services/project-fetcher.ts @@ -115,7 +115,8 @@ export default class ProjectFetcher { body: JSON.stringify({query, variables}), headers: { 'Content-Type': 'application/json', - authorization: `Bearer ${config.apiKey}` + authorization: `Bearer ${config.apiKey}`, + ...(config.extraHeaders ? config.extraHeaders : {}) }, method: 'POST' }); diff --git a/cli/src/types/config.ts b/cli/src/types/config.ts index 7d804ea8e..a14f6cdf4 100644 --- a/cli/src/types/config.ts +++ b/cli/src/types/config.ts @@ -5,6 +5,7 @@ import {VersionConfig} from './version-config'; export interface Config { apiUrl: string; apiKey: string; + extraHeaders?: Record; project?: string | null; version?: VersionConfig; files: DocumentConfig[];