mercurial/httppeer.py
changeset 36430 efebfa9b4cab
parent 36426 23d12524a202
child 36835 5bc7ff103081
equal deleted inserted replaced
36429:f8ea6988a5fb 36430:efebfa9b4cab
   437             r = self._call(cmd, data=fp, headers=headers, **args)
   437             r = self._call(cmd, data=fp, headers=headers, **args)
   438             vals = r.split('\n', 1)
   438             vals = r.split('\n', 1)
   439             if len(vals) < 2:
   439             if len(vals) < 2:
   440                 raise error.ResponseError(_("unexpected response:"), r)
   440                 raise error.ResponseError(_("unexpected response:"), r)
   441             return vals
   441             return vals
       
   442         except urlerr.httperror:
       
   443             # Catch and re-raise these so we don't try and treat them
       
   444             # like generic socket errors. They lack any values in
       
   445             # .args on Python 3 which breaks our socket.error block.
       
   446             raise
   442         except socket.error as err:
   447         except socket.error as err:
   443             if err.args[0] in (errno.ECONNRESET, errno.EPIPE):
   448             if err.args[0] in (errno.ECONNRESET, errno.EPIPE):
   444                 raise error.Abort(_('push failed: %s') % err.args[1])
   449                 raise error.Abort(_('push failed: %s') % err.args[1])
   445             raise error.Abort(err.args[1])
   450             raise error.Abort(err.args[1])
   446         finally:
   451         finally: