Skip to content

Storage non-resumable uploads fail #2050

@ddunkin

Description

@ddunkin

Storage non-resumable uploads fail when used with @google-cloud/common 0.12.1. The error message is:

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Sorry, we cannot connect to Cloud Services without a project ID. You may specify one with an environment variable named "GCLOUD_PROJECT". See https://googlecloudplatform.github.io/google-cloud-node/#/docs/guides/authentication for a detailed guide on creating an authenticated connection.

The error message is misleading. The code mistakenly assumes any error thrown util.makeAuthenticatedRequestFactory -> makeAuthenticatedRequest -> onAuthenticated is because of a missing project ID.

The bug that causes the error was introduced by #1990. hasOwnProperty is called on an object that does not have that function. An alternative implementation would be to call Object.hasOwnProperty.call(value, opt) instead of value.hasOwnProperty(opt).

Environment details

  • OS: macOS, Linux
  • Node.js version: 6.x
  • npm version: 3.x
  • google-cloud-node version: 0.47.0

Steps to reproduce

  1. require google-cloud
  2. storage.bucket('my-bucket').upload('file.txt', { resumable: false })

Metadata

Metadata

Labels

api: storageIssues related to the Cloud Storage API.coretype: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions