googleapis / googleapis/google-api-nodejs-client

Sheets `clear` operation breaks with HTTP/2

Open
#3,602 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
12.2k
Forks
2k
Avg merge
1d 9h
Merged PRs (30d)
24

Description

### Please make sure you have searched for information in the following guides.

- [x] Search the issues already opened: https://github.com/GoogleCloudPlatform/google-cloud-node/issues
- [x] Search StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform+node.js
- [x] Check our Troubleshooting guide: https://github.com/googleapis/google-cloud-node/blob/main/docs/troubleshooting.md
- [x] Check our FAQ: https://github.com/googleapis/google-cloud-node/blob/main/docs/faq.md
- [x] Check our libraries HOW-TO: https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md
- [x] Check out our authentication guide: https://github.com/googleapis/google-auth-library-nodejs
- [x] Check out handwritten samples for many of our APIs: https://github.com/GoogleCloudPlatform/nodejs-docs-samples

### A screenshot that you have tested with "Try this API".

N/A

### Link to the code that reproduces this issue. A link to a **public** Github Repository or gist with a minimal reproduction.

https://gist.github.com/neil-lobo/e632aae751fe7aec8bbc29a42c585015

### A step-by-step description of how to reproduce the issue, based on the linked reproduction.

1. Save `credentials.json` file with correct access to sheet to root of project
2. Replace `[sheet ID]` with accessible sheet
3. Run script
4. Observe output
5. Turn off http2
6. Observe output
### A clear and concise description of what the bug is, and what you expected to happen.

Using the http2 option, the clear operation does not work. I assume https://github.com/googleapis/google-api-nodejs-client/issues/1801#issuecomment-524921412 is no longer the case since there is an explicit option to enable http2 now.

Referring to the gist, the expected output is
```
finish get 200
finish clear 200

```

however the output is
```
finish get 200

```

Disabling http2 produces the correct output. Note that this is not simply a response issue, the operation itself does not reflect in the specified sheet.

### A clear and concise description WHY you expect this behavior, i.e., was it a recent change, there is documentation that points to this behavior, etc. **

Breaks usage

Contributor guide

Open the contributing guide

Research direction

Start with the linked public gist and reproduce the Sheets clear operation with HTTP/2 enabled, then compare it with the working HTTP/1.1 behavior. Trace the client path used by the gist and verify the fix by observing a successful clear response and the specified sheet actually being cleared.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
api, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.