Parcourir la source

Hotfix spaces in URL in GET requests

Requests with URLs which included spaces were throwing Internal server errors because unquote_plus() was called before urlopen().
Fixed the most common occurence.
vkosnar il y a 4 ans
Parent
commit
5a9a690299
1 fichiers modifiés avec 5 ajouts et 1 suppressions
  1. 5 1
      src/rembg/cmd/server.py

+ 5 - 1
src/rembg/cmd/server.py

@@ -27,8 +27,12 @@ def index():
         url = request.args.get("url", type=str)
         if url is None:
             return {"error": "missing query param 'url'"}, 400
+        
+        url = unquote_plus(url)
+        if " " in url:
+            url = quote(url, safe="/:")
 
-        file_content = urlopen(unquote_plus(url)).read()
+        file_content = urlopen(url).read()
 
     if file_content == "":
         return {"error": "File content is empty"}, 400