forked fromDonJayamanne/pythonVSCode
- Notifications
You must be signed in to change notification settings - Fork1.2k
Fix the wrong Content-Length in python-server.py for non-ascii characters.#24480
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
karthiknadig merged 2 commits intomicrosoft:mainfromtomoki:fix-content-length-for-python-repl-serverNov 26, 2024
Merged
Fix the wrong Content-Length in python-server.py for non-ascii characters.#24480
karthiknadig merged 2 commits intomicrosoft:mainfromtomoki:fix-content-length-for-python-repl-serverNov 26, 2024
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
karthiknadig approved these changesNov 25, 2024
Thanks for identifying the issue and providing a fix for it 🚀. We really appreciate it. Happy Coding!!! |
…ters.Content-Length is the data in bytes, not len of str. We should use sys.stdin.buffer.read instead of sys.stdin.read to receive bytes._send_message should calculate "Content-Length" from bytes, not str.
We should use stdin.buffer.readline instead of stdin.readline because stdin.read* and stdin.buffer.read* should be used at the same time. (stdin.read* refers the internal buffer)
cd9a0cc
to1c8e5f4
CompareThank you for your review! Looks like the Github Action failed due to the rate limit exceeded. |
cwebster-99 approved these changesNov 26, 2024
dba0a4c
intomicrosoft:main 46 checks passed
Uh oh!
There was an error while loading.Please reload this page.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading.Please reload this page.
Resolves:#24479
python-server.py
currently usessys.stdin.read
for reading the input, and it receives the length instr
(utf-8 string).ref:https://docs.python.org/3/library/sys.html
On the other "Content-Length" is the size inbytes, therefore we should not pass
content_length
tosys.stdin.read
. For example,print("こんにちは世界")
's length is 16 in str, but 30 in bytes.This PR have two changes.
sys.stdin.read(content_length)
withsys.stdin.buffer.read(content_length).decode()
._send_message
calculate "Content-Length" from bytes, not str.By these changes, original issue#24479 can be resolved.