Skip to content

fix: preserve URL extensions for generic downloads - #543

Open
rahulshahDEV wants to merge 2 commits into
Baseflow:mainfrom
rahulshahDEV:fix/489-extension-fallback
Open

rahulshahDEV wants to merge 2 commits into
Baseflow:mainfrom
rahulshahDEV:fix/489-extension-fallback

Conversation

@rahulshahDEV

Copy link
Copy Markdown

✨ What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Bug fix.

⤵️ What is the current behavior?

When a download response uses application/octet-stream, the cache manager gives the cached file a .bin extension even when its URL ends in a meaningful extension such as .mp4.

🆕 What is the new behavior (if this is a feature change)?

Responses with a missing or generic Content-Type use the final extension in the URL path. A specific response MIME type remains authoritative, and query parameters do not affect the extension. The legacy file-service adapter follows the same rule.

💥 Does this PR introduce a breaking change?

No.

🐛 Recommendations for testing

dart format --set-exit-if-changed ., flutter analyze --no-pub, and flutter test --no-pub --coverage passed with Flutter 3.47.4. Regression tests cover the stored download path, missing and generic content types, MIME precedence, and the legacy adapter. CI should validate the example builds on supported platforms.

📝 Links to relevant issues/docs

Closes #489.

🤔 Checklist before submitting

  • All projects build (CI will validate the platform example builds)
  • Follows style guide lines (code style guide)
  • Relevant documentation was updated
  • Rebased onto current main
  • Version bumped and dated CHANGELOG entry added

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Downloaded files are always stored as .bin instead of preserving the original extension

1 participant