diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index 95230118..c31e937e 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -629,7 +629,17 @@ class HttpCli(object): headers: Optional[dict[str, str]] = None, volsan: bool = False, ) -> bytes: - if status > 400 and status in (403, 404, 422): + if ( + status > 400 + and status in (403, 404, 422) + and ( + status != 422 + or ( + not body.startswith(b"
partial upload exists") + and not body.startswith(b"source file busy") + ) + ) + ): if status == 404: g = self.conn.hsrv.g404 elif status == 403: