From b1f31c767de7ee3c866e74af761efb0c7cd71e0b Mon Sep 17 00:00:00 2001 From: Simone Potenza Date: Mon, 12 Feb 2024 09:04:27 +0100 Subject: [PATCH 1/2] fix(clientgen): fix setting user agent in js client Setting the User-Agent --- internal/clientgen/javascript.go | 8 +++++++- .../clientgen/testdata/expected_baseauth_javascript.js | 8 +++++++- internal/clientgen/testdata/expected_javascript.js | 8 +++++++- internal/clientgen/testdata/expected_noauth_javascript.js | 8 +++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/internal/clientgen/javascript.go b/internal/clientgen/javascript.go index 7ed5e5e7bc..e994f0494e 100644 --- a/internal/clientgen/javascript.go +++ b/internal/clientgen/javascript.go @@ -477,8 +477,14 @@ class BaseClient {`) this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "` + userAgent + `", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "` + userAgent + `"; + } + this.requestInit = options.requestInit ?? {} // Setup what fetch function we'll be using in the base client diff --git a/internal/clientgen/testdata/expected_baseauth_javascript.js b/internal/clientgen/testdata/expected_baseauth_javascript.js index ef46bdfb77..cdae6b555b 100644 --- a/internal/clientgen/testdata/expected_baseauth_javascript.js +++ b/internal/clientgen/testdata/expected_baseauth_javascript.js @@ -104,8 +104,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "app-Generated-JS-Client (Encore/devel)", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "app-Generated-JS-Client (Encore/devel)"; + } + this.requestInit = options.requestInit ?? {} // Setup what fetch function we'll be using in the base client diff --git a/internal/clientgen/testdata/expected_javascript.js b/internal/clientgen/testdata/expected_javascript.js index f7b89c03e3..ecbd7a467e 100644 --- a/internal/clientgen/testdata/expected_javascript.js +++ b/internal/clientgen/testdata/expected_javascript.js @@ -272,8 +272,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "app-Generated-JS-Client (Encore/devel)", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "app-Generated-JS-Client (Encore/devel)"; + } + this.requestInit = options.requestInit ?? {} // Setup what fetch function we'll be using in the base client diff --git a/internal/clientgen/testdata/expected_noauth_javascript.js b/internal/clientgen/testdata/expected_noauth_javascript.js index b41f4f54f6..a86f239b58 100644 --- a/internal/clientgen/testdata/expected_noauth_javascript.js +++ b/internal/clientgen/testdata/expected_noauth_javascript.js @@ -88,8 +88,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "app-Generated-JS-Client (Encore/devel)", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "app-Generated-JS-Client (Encore/devel)"; + } + this.requestInit = options.requestInit ?? {} // Setup what fetch function we'll be using in the base client From c4557cf84f9b8f3df02a1894d950e04254abdd1b Mon Sep 17 00:00:00 2001 From: Simone Potenza Date: Tue, 13 Feb 2024 21:38:08 +0100 Subject: [PATCH 2/2] fix(clientgen): fix setting user agent in ts client --- .../clientgen/testdata/expected_baseauth_typescript.ts | 8 +++++++- internal/clientgen/testdata/expected_noauth_typescript.ts | 8 +++++++- internal/clientgen/testdata/expected_typescript.ts | 8 +++++++- internal/clientgen/typescript.go | 8 +++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/internal/clientgen/testdata/expected_baseauth_typescript.ts b/internal/clientgen/testdata/expected_baseauth_typescript.ts index b52f2857bf..5b88a9d8bc 100644 --- a/internal/clientgen/testdata/expected_baseauth_typescript.ts +++ b/internal/clientgen/testdata/expected_baseauth_typescript.ts @@ -169,8 +169,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "app-Generated-TS-Client (Encore/devel)", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "app-Generated-TS-Client (Encore/devel)"; + } + this.requestInit = options.requestInit ?? {}; // Setup what fetch function we'll be using in the base client diff --git a/internal/clientgen/testdata/expected_noauth_typescript.ts b/internal/clientgen/testdata/expected_noauth_typescript.ts index b39821ef41..979e0cbe0b 100644 --- a/internal/clientgen/testdata/expected_noauth_typescript.ts +++ b/internal/clientgen/testdata/expected_noauth_typescript.ts @@ -131,8 +131,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "app-Generated-TS-Client (Encore/devel)", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "app-Generated-TS-Client (Encore/devel)"; + } + this.requestInit = options.requestInit ?? {}; // Setup what fetch function we'll be using in the base client diff --git a/internal/clientgen/testdata/expected_typescript.ts b/internal/clientgen/testdata/expected_typescript.ts index 83754dbcb9..093d0c1af2 100644 --- a/internal/clientgen/testdata/expected_typescript.ts +++ b/internal/clientgen/testdata/expected_typescript.ts @@ -461,8 +461,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "app-Generated-TS-Client (Encore/devel)", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "app-Generated-TS-Client (Encore/devel)"; + } + this.requestInit = options.requestInit ?? {}; // Setup what fetch function we'll be using in the base client diff --git a/internal/clientgen/typescript.go b/internal/clientgen/typescript.go index d0ea0d1a08..1aee49904e 100644 --- a/internal/clientgen/typescript.go +++ b/internal/clientgen/typescript.go @@ -704,8 +704,14 @@ class BaseClient { this.baseURL = baseURL this.headers = { "Content-Type": "application/json", - "User-Agent": "` + userAgent + `", } + + // Add User-Agent header if the script is running in the server + // because browsers do not allow setting User-Agent headers to requests + if (typeof window === "undefined") { + this.headers["User-Agent"] = "` + userAgent + `"; + } + this.requestInit = options.requestInit ?? {}; // Setup what fetch function we'll be using in the base client