mercurial/httprepo.py
changeset 13819 d16894e29f91
parent 13603 395a84f78736
child 14060 aaa9a5989405
equal deleted inserted replaced
13818:bf6156bab41b 13819:d16894e29f91
     7 # GNU General Public License version 2 or any later version.
     7 # GNU General Public License version 2 or any later version.
     8 
     8 
     9 from node import nullid
     9 from node import nullid
    10 from i18n import _
    10 from i18n import _
    11 import changegroup, statichttprepo, error, url, util, wireproto
    11 import changegroup, statichttprepo, error, url, util, wireproto
    12 import os, urllib, urllib2, urlparse, zlib, httplib
    12 import os, urllib, urllib2, zlib, httplib
    13 import errno, socket
    13 import errno, socket
    14 
    14 
    15 def zgenerator(f):
    15 def zgenerator(f):
    16     zd = zlib.decompressobj()
    16     zd = zlib.decompressobj()
    17     try:
    17     try:
    26 class httprepository(wireproto.wirerepository):
    26 class httprepository(wireproto.wirerepository):
    27     def __init__(self, ui, path):
    27     def __init__(self, ui, path):
    28         self.path = path
    28         self.path = path
    29         self.caps = None
    29         self.caps = None
    30         self.handler = None
    30         self.handler = None
    31         scheme, netloc, urlpath, query, frag = urlparse.urlsplit(path)
    31         u = url.url(path)
    32         if query or frag:
    32         if u.query or u.fragment:
    33             raise util.Abort(_('unsupported URL component: "%s"') %
    33             raise util.Abort(_('unsupported URL component: "%s"') %
    34                              (query or frag))
    34                              (u.query or u.fragment))
    35 
    35 
    36         # urllib cannot handle URLs with embedded user or passwd
    36         # urllib cannot handle URLs with embedded user or passwd
    37         self._url, authinfo = url.getauthinfo(path)
    37         self._url, authinfo = u.authinfo()
    38 
    38 
    39         self.ui = ui
    39         self.ui = ui
    40         self.ui.debug('using %s\n' % self._url)
    40         self.ui.debug('using %s\n' % self._url)
    41 
    41 
    42         self.urlopener = url.opener(ui, authinfo)
    42         self.urlopener = url.opener(ui, authinfo)