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

Proxito: don't check for index.html if the path already ends with /. #10153

Merged
merged 1 commit into from
Mar 15, 2023

Conversation

stsewd
Copy link
Member

@stsewd stsewd commented Mar 14, 2023

If the path ends with /, we already tried to serve the /index.html file and weren't able to find it, so we only need to test for the README.html in those cases, for paths that don't end with slash, we need to check for both files.

@stsewd stsewd requested a review from a team as a code owner March 14, 2023 23:40
@stsewd stsewd requested a review from humitos March 14, 2023 23:40
Copy link
Member

@humitos humitos left a comment

Choose a reason for hiding this comment

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

Great you found this and changed! 👍🏼

Comment on lines +682 to +687
tryfiles = ["index.html", "README.html"]
# If the path ends with `/`, we already tried to serve
# the `/index.html` file, so we only need to test for
# the `/README.html` file.
if full_path.endswith("/"):
tryfiles = ["README.html"]
Copy link
Member

Choose a reason for hiding this comment

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

This is really good! We are reducing 1 call to S3 for all the 404 pages 💪🏼

def test_redirects_to_correct_index(self, storage_exists):
"""This case is when the project uses a README.html as index."""
def test_redirects_to_correct_index_ending_with_slash(self, storage_exists):
"""When the path ends with a slash, we try README.html as index."""
Copy link
Member

Choose a reason for hiding this comment

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

Eventually, we should remove this and stop trying README.html. That's a pretty legacy decision that I don't think it applies anymore.

We should probably start with new projects and keeping this behavior only for old projects and remove this logic finally after a couple of months.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm in favor of removing it or documenting it explicitly. This is not expected default functionality from a webserver/host although it isn't a super uncommon reconfiguration.

Copy link
Member

Choose a reason for hiding this comment

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

Yea, we should start by logging when this happens, so we know how many people it will effect.

Copy link
Member

Choose a reason for hiding this comment

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

This is a good idea 💡

Copy link
Member

Choose a reason for hiding this comment

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

@ericholscher we are already logging this 😉 . Take a look at this https://onenr.io/0LREdxdX5wa

There are more project than I've expected doing this 😞

Copy link
Member Author

Choose a reason for hiding this comment

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

We have 340 projects in .org and 1 in .com https://onenr.io/0BQ1Gv2BMRx

Copy link
Member Author

Choose a reason for hiding this comment

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

we should continue this at #9993

@stsewd stsewd merged commit 4bde8eb into main Mar 15, 2023
@stsewd stsewd deleted the skip-index-check-when-not-required branch March 15, 2023 15:12
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.

4 participants