in src/huggingface_hub/utils/_http.py [0:0]
def _curlify(request: requests.PreparedRequest) -> str:
"""Convert a `requests.PreparedRequest` into a curl command (str).
Used for debug purposes only.
Implementation vendored from https://github.com/ofw/curlify/blob/master/curlify.py.
MIT License Copyright (c) 2016 Egor.
"""
parts: List[Tuple[Any, Any]] = [
("curl", None),
("-X", request.method),
]
for k, v in sorted(request.headers.items()):
if k.lower() == "authorization":
v = "<TOKEN>" # Hide authorization header, no matter its value (can be Bearer, Key, etc.)
parts += [("-H", "{0}: {1}".format(k, v))]
if request.body:
body = request.body
if isinstance(body, bytes):
body = body.decode("utf-8", errors="ignore")
elif hasattr(body, "read"):
body = "<file-like object>" # Don't try to read it to avoid consuming the stream
if len(body) > 1000:
body = body[:1000] + " ... [truncated]"
parts += [("-d", body.replace("\n", ""))]
parts += [(None, request.url)]
flat_parts = []
for k, v in parts:
if k:
flat_parts.append(quote(k))
if v:
flat_parts.append(quote(v))
return " ".join(flat_parts)