-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Custom Error Pages: Do not write status code too soon. #14161
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
Custom Error Pages: Do not write status code too soon. #14161
Conversation
✅ Deploy Preview for kubernetes-ingress-nginx canceled.
|
|
Welcome @jfyuen! |
|
Hi @jfyuen. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Gacko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/retitle Custom Error Pages: Do not write status code too soon.
/triage accepted
/kind bug
/priority backlog
/lgtm
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Gacko, jfyuen The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/cherry-pick release-1.14 |
|
/cherry-pick release-1.13 |
|
@Gacko: once the present PR merges, I will cherry-pick it on top of In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@Gacko: once the present PR merges, I will cherry-pick it on top of In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@Gacko: new pull request created: #14162 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@Gacko: new pull request created: #14163 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Remove duplicate
WriteHeadercall if requested file not found.What this PR does / why we need it:
The main purpose of this PR is to fix a dual call to
WriteHeaderif the requested file was not found and ahttp.NotFound()as this function will also callWriteHeaderunder the hood.It could even
panicif a wrong http code was sent viacurl -H "X-Code: 0" http://localhost:8080/:The fix is just to move the call near the
io.copy()and be more robust.Includes minor cosmetic changes.
Types of changes
Which issue/s this PR fixes
How Has This Been Tested?
By building the docker image manually and sending it a custom query:
cd images/custom-error-pages/rootfs && docker build --build-arg GOLANG_VERSION=1.25.4 . -t custom-error-pagesdocker run --rm -p 8080:8080 custom-error-pages$ curl -H "X-Code: 0" http://localhost:8080/ 404 page not foundBefore:
After the change:
If sending another code with
curl -H "X-Code: 200" http://localhost:8080/.Before:
After the change:
Checklist: