firebase / firebase/firebase-admin-node

Impossible to specify an httpAgent when running on GCP infrastructure

Open
#1,880 1 comment 0 reactions 1 assignee Claimed by @lahirumaramba View on GitHub
api: core
Dominant language
TypeScript
Stars
1.7k
Forks
419
Avg merge
3d 10h
Merged PRs (30d)
16

Description

An HTTP agent can be specified in `initializeApp()` using [`AppOptions.httpAgent`](https://github.com/firebase/firebase-admin-node/blob/94dd7c3efb9ff00b0462cf772b803d6abecc2dcc/src/app/core.ts#L85).

When running on GCP infrastructure using application default credentials, the SDK will request the internal metadata server at an `http:` address, see below:

https://github.com/firebase/firebase-admin-node/blob/581e579460bd809912dbffd5680777dd0c8f1a80/src/app/credential-internal.ts#L261-L270

And naturally, all other API requests during operation of the SDK use the `https:` protocol.

This means that it is impossible to provide a native NodeJS `http.Agent` or a `https.Agent` because it will always fail due to the mix of `http:` and `https:` requests it will be used for.

This should either be fixed (e.g. don't use the provided agent for the internal metadata server `http:` request) or documented.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.