Skip to content

Conversation

@aritradhabal
Copy link

Replaced the base64url encoding of the upstream ETag with getHash function to create a short, filesystem-safe identifier.

What & Why?

If the upstream server sends a very long ETag, the encoded string becomes very long. The full file path exceeded the OS filename length limit (~255 characters). Then Node throws, ENAMETOOLONG.

How?

changed upstream ETag processing from: Buffer.from(etag).toString('base64url') to, getHash([etag]). This transforms, the ETag string into one fixed-size SHA-256 hash.

Fixes #85978



Replaced the base64url encoding of the upstream ETag with getHash function to create a short, filesystem-safe identifier.
@ijjk
Copy link
Member

ijjk commented Nov 13, 2025

Allow CI Workflow Run

  • approve CI run for commit: 15fbdcf

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

<Image> cache issue with long domain names ENAMETOOLONG: name too long, open

2 participants