Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow relative directory path when follow_symlinks=True #2896

Merged
merged 3 commits into from
Mar 8, 2025

Conversation

davipt
Copy link
Contributor

@davipt davipt commented Mar 5, 2025

Summary

Fix for StaticFiles(follow_symlinks=True, directory="some relative path") that stopped working with commit eee4cdc.

When using StaticFiles with a relative path (e.g. a static folder included with the source code deployment) and follow_symlinks is set to True, the commit at eee4cdc removed the code that translates the relative folder into an absolute folder, and then the system call os.path.commonpath fails because it expects the arguments to either be all relative or all absolute.

This MR fixes this issue by using the same pattern as the full_path - os.abspath for follow_symlinks=True, and os.realpath when False.

Checklist

  • I understand that this PR may be closed in case there was no previous discussion. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • [-] I've updated the documentation accordingly.

Copy link
Member

@Kludex Kludex left a comment

Choose a reason for hiding this comment

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

Thanks. I left only the test that was failing in master.

@Kludex Kludex changed the title Fix for #2873 in StaticFiles Allow relative directory path when follow_symlinks=True Mar 8, 2025
@Kludex Kludex enabled auto-merge (squash) March 8, 2025 07:58
@Kludex Kludex merged commit bc3b400 into encode:master Mar 8, 2025
5 checks passed
@davipt
Copy link
Contributor Author

davipt commented Mar 8, 2025

Awesome, thanks!

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.

2 participants