-
Notifications
You must be signed in to change notification settings - Fork 979
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
fix: if there is a symbol '?' in the path, force url. query as the mi… #3014
fix: if there is a symbol '?' in the path, force url. query as the mi… #3014
Conversation
e1d5576
to
e5553bb
Compare
@@ -525,7 +525,11 @@ def _download_local(uri, out_dir=None): | |||
def _download_from_uri(uri, out_dir=None): | |||
url = urlparse(uri) | |||
filename = os.path.basename(url.path) | |||
mimetype, encoding = mimetypes.guess_type(url.path) | |||
# Determine if the symbol '?' exists in the path | |||
if mimetypes.guess_type(url.path)[0] is None: |
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.
Also check url.query != ''
?
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.
Yes, I overlooked this check and added it now
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.
Can you also add a test case here
https://github.com/kserve/kserve/blob/master/python/kserve/kserve/storage/test/test_storage.py
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.
Of course, there is indeed a need for a test case here
9d91f3b
to
27a4687
Compare
…metype Signed-off-by: wjp <wjp_199502@163.com>
Signed-off-by: wjp <wjp_199502@163.com>
…_uri" Signed-off-by: wjp <wjp_199502@163.com>
Signed-off-by: wjp <wjp_199502@163.com>
Signed-off-by: wjp <wjp_199502@163.com>
600bcb3
to
4ba1d85
Compare
Thanks @Wercurial ! /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Wercurial, yuzisun 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 |
kserve#3014) * fix: if there is a symbol '?' in the path, force url. query as the mimetype Signed-off-by: wjp <wjp_199502@163.com> * fix: add new check if the url.query is empty Signed-off-by: wjp <wjp_199502@163.com> * fix: add a test case for storage.py to check function "_download_from_uri" Signed-off-by: wjp <wjp_199502@163.com> * fix: E501 line too long issue by breaking long lines into multiple lines Signed-off-by: wjp <wjp_199502@163.com> * fix: solve E271 multiple spaces after keyword Signed-off-by: wjp <wjp_199502@163.com> --------- Signed-off-by: wjp <wjp_199502@163.com> Signed-off-by: iamlovingit <freecode666@gmail.com>
…metype
What this PR does / why we need it:
When our HTTP based model download path contains the symbol '?', the subsequent string will be parsed into a query, causing the mimetype to be unable to obtain the correct Content Type, resulting in errors in the entire model download process.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #3013
Type of changes
Please delete options that are not relevant.
Feature/Issue validation/testing:
Pass the test for both the presence and absence of the symbol '?' in the HTTP path
Please describe the tests that you ran to verify your changes and relevent result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.
Model download path:'http://172.16.1.129:9999/00000123.zip'
Model download path:'http://172.16.2.132:32372/modelservice/model/download?path=bluewhale/model/74/00000123.zip'
Special notes for your reviewer:
Checklist:
Release note: