Skip to content

[2.0] Switch apollo-engine-reporting to use fetch instead of the Node request module#1274

Merged
evans merged 8 commits into
version-2from
server-2.0/reporting-non-node
Jun 29, 2018
Merged

[2.0] Switch apollo-engine-reporting to use fetch instead of the Node request module#1274
evans merged 8 commits into
version-2from
server-2.0/reporting-non-node

Conversation

@martijnwalraven

Copy link
Copy Markdown
Contributor

In preparation for running on non-Node environments like Cloudflare Workers and fly.io, this removes the dependency on the Node request module and replaces its use with fetch.

There is work remaining to remove other dependencies, like gzip and the os module, but this is a first step.

@evans evans merged commit cbb5bf3 into version-2 Jun 29, 2018
@evans

evans commented Jun 29, 2018

Copy link
Copy Markdown
Contributor

@martijnwalraven Thank you so much! Super excited to get edge fully supported

@evans evans deleted the server-2.0/reporting-non-node branch June 29, 2018 18:15
@evans evans mentioned this pull request Jun 29, 2018
glasser added a commit that referenced this pull request Aug 27, 2019
We do craft these messages to be useful, so we want them in your logs!

This regressed in #1274.
console.log(`Engine report: status ${response.statusCode}`);

if (response.status >= 500 && response.status < 600) {
throw new Error(`${response.status}: ${response.statusText}`);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this change from body to statusText (which leaves out the response body which we do craft in the server to be read by humans in logs) was unintentional. See #3218.

});
},
{
retries: this.options.maxAttempts || 5,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this change which passes a "max attempts" (inclusive of first attempt) number to a "retries" (exclusive of first attempt) parameter was unintentional. See #3218.

glasser added a commit that referenced this pull request Aug 27, 2019
- The behavior of maxAttempts previously failed to match its documentation or
  the literal reading of its name. Previously, setting maxAttempts=1 would
  actually result in one retry after the initial attempt. This change fixes
  the behavior to match the docs and the name.

- We intend the bodies of Engine report endpoint errors to be useful in error
  logs, even 5xx errors. This change returns to including them in the reported
  error.

PR #1274 (merged before the initial release of apollo-engine-reporting)
regressed both of these issues.
trevor-scheer pushed a commit that referenced this pull request Aug 27, 2019
- The behavior of maxAttempts previously failed to match its documentation or
  the literal reading of its name. Previously, setting maxAttempts=1 would
  actually result in one retry after the initial attempt. This change fixes
  the behavior to match the docs and the name.

- We intend the bodies of Engine report endpoint errors to be useful in error
  logs, even 5xx errors. This change returns to including them in the reported
  error.

PR #1274 (merged before the initial release of apollo-engine-reporting)
regressed both of these issues.
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Apr 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants