Show More
@@ -90,7 +90,7 b' def store_user_in_session(session, usern' | |||||
90 |
|
90 | |||
91 | def get_came_from(request): |
|
91 | def get_came_from(request): | |
92 | came_from = safe_str(request.GET.get('came_from', '')) |
|
92 | came_from = safe_str(request.GET.get('came_from', '')) | |
93 |
parsed = urllib.parse.urlparse |
|
93 | parsed = urllib.parse.urlparse(came_from) | |
94 | allowed_schemes = ['http', 'https'] |
|
94 | allowed_schemes = ['http', 'https'] | |
95 | default_came_from = h.route_path('home') |
|
95 | default_came_from = h.route_path('home') | |
96 | if parsed.scheme and parsed.scheme not in allowed_schemes: |
|
96 | if parsed.scheme and parsed.scheme not in allowed_schemes: |
@@ -202,7 +202,7 b' class SubversionTunnelWrapper(object):' | |||||
202 | if not first_response: |
|
202 | if not first_response: | |
203 | return self.fail("Repository name cannot be extracted") |
|
203 | return self.fail("Repository name cannot be extracted") | |
204 |
|
204 | |||
205 |
url_parts = urllib.parse.urlparse |
|
205 | url_parts = urllib.parse.urlparse(first_response['url']) | |
206 |
|
206 | |||
207 | self.server.repo_name = self._match_repo_name(url_parts.path.strip('/')) |
|
207 | self.server.repo_name = self._match_repo_name(url_parts.path.strip('/')) | |
208 |
|
208 |
@@ -142,7 +142,7 b' def relative_path(path, request_path, is' | |||||
142 | # skip data, anchor, invalid links |
|
142 | # skip data, anchor, invalid links | |
143 | return path |
|
143 | return path | |
144 |
|
144 | |||
145 |
is_absolute = bool(urllib.parse.urlparse |
|
145 | is_absolute = bool(urllib.parse.urlparse(path).netloc) | |
146 | if is_absolute: |
|
146 | if is_absolute: | |
147 | return path |
|
147 | return path | |
148 |
|
148 |
@@ -123,7 +123,7 b' class SimpleSvnApp(object):' | |||||
123 |
|
123 | |||
124 | def _get_url(self, svn_http_server, path): |
|
124 | def _get_url(self, svn_http_server, path): | |
125 | svn_http_server_url = (svn_http_server or '').rstrip('/') |
|
125 | svn_http_server_url = (svn_http_server or '').rstrip('/') | |
126 |
url_path = urllib.parse |
|
126 | url_path = urllib.parse.urljoin(svn_http_server_url + '/', (path or '').lstrip('/')) | |
127 | url_path = urllib.parse.quote(url_path, safe="/:=~+!$,;'") |
|
127 | url_path = urllib.parse.quote(url_path, safe="/:=~+!$,;'") | |
128 | return url_path |
|
128 | return url_path | |
129 |
|
129 |
@@ -111,7 +111,7 b' class VcsHttpProxy(object):' | |||||
111 |
|
111 | |||
112 | # Preserve the query string |
|
112 | # Preserve the query string | |
113 | url = self._url |
|
113 | url = self._url | |
114 |
url = urllib.parse |
|
114 | url = urllib.parse.urljoin(url, self._repo_name) | |
115 | if environ.get('QUERY_STRING'): |
|
115 | if environ.get('QUERY_STRING'): | |
116 | url += '?' + environ['QUERY_STRING'] |
|
116 | url += '?' + environ['QUERY_STRING'] | |
117 |
|
117 |
@@ -132,7 +132,7 b' def _streaming_remote_call(url, payload,' | |||||
132 |
|
132 | |||
133 | class ServiceConnection(object): |
|
133 | class ServiceConnection(object): | |
134 | def __init__(self, server_and_port, backend_endpoint, session_factory): |
|
134 | def __init__(self, server_and_port, backend_endpoint, session_factory): | |
135 |
self.url = urllib.parse |
|
135 | self.url = urllib.parse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
136 | self._session_factory = session_factory |
|
136 | self._session_factory = session_factory | |
137 |
|
137 | |||
138 | def __getattr__(self, name): |
|
138 | def __getattr__(self, name): | |
@@ -154,8 +154,8 b' class ServiceConnection(object):' | |||||
154 | class RemoteVCSMaker(object): |
|
154 | class RemoteVCSMaker(object): | |
155 |
|
155 | |||
156 | def __init__(self, server_and_port, backend_endpoint, backend_type, session_factory): |
|
156 | def __init__(self, server_and_port, backend_endpoint, backend_type, session_factory): | |
157 |
self.url = urllib.parse |
|
157 | self.url = urllib.parse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
158 |
self.stream_url = urllib.parse |
|
158 | self.stream_url = urllib.parse.urljoin('http://%s' % server_and_port, backend_endpoint+'/stream') | |
159 |
|
159 | |||
160 | self._session_factory = session_factory |
|
160 | self._session_factory = session_factory | |
161 | self.backend_type = backend_type |
|
161 | self.backend_type = backend_type | |
@@ -356,7 +356,7 b' class VcsHttpProxy(object):' | |||||
356 | retries = Retry(total=5, connect=None, read=None, redirect=None) |
|
356 | retries = Retry(total=5, connect=None, read=None, redirect=None) | |
357 |
|
357 | |||
358 | adapter = requests.adapters.HTTPAdapter(max_retries=retries) |
|
358 | adapter = requests.adapters.HTTPAdapter(max_retries=retries) | |
359 |
self.base_url = urllib.parse |
|
359 | self.base_url = urllib.parse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
360 | self.session = requests.Session() |
|
360 | self.session = requests.Session() | |
361 | self.session.mount('http://', adapter) |
|
361 | self.session.mount('http://', adapter) | |
362 |
|
362 |
@@ -30,7 +30,7 b' import rhodecode.lib.middleware.simplegi' | |||||
30 |
|
30 | |||
31 | def get_environ(url, request_method): |
|
31 | def get_environ(url, request_method): | |
32 | """Construct a minimum WSGI environ based on the URL.""" |
|
32 | """Construct a minimum WSGI environ based on the URL.""" | |
33 |
parsed_url = urllib.parse.urlparse |
|
33 | parsed_url = urllib.parse.urlparse(url) | |
34 | environ = { |
|
34 | environ = { | |
35 | 'PATH_INFO': parsed_url.path, |
|
35 | 'PATH_INFO': parsed_url.path, | |
36 | 'QUERY_STRING': parsed_url.query, |
|
36 | 'QUERY_STRING': parsed_url.query, |
@@ -31,7 +31,7 b' import rhodecode.lib.middleware.simplehg' | |||||
31 |
|
31 | |||
32 | def get_environ(url): |
|
32 | def get_environ(url): | |
33 | """Construct a minimum WSGI environ based on the URL.""" |
|
33 | """Construct a minimum WSGI environ based on the URL.""" | |
34 |
parsed_url = urllib.parse.urlparse |
|
34 | parsed_url = urllib.parse.urlparse(url) | |
35 | environ = { |
|
35 | environ = { | |
36 | 'PATH_INFO': parsed_url.path, |
|
36 | 'PATH_INFO': parsed_url.path, | |
37 | 'QUERY_STRING': parsed_url.query, |
|
37 | 'QUERY_STRING': parsed_url.query, |
@@ -27,7 +27,6 b' import tempfile' | |||||
27 | import urllib.request, urllib.error, urllib.parse |
|
27 | import urllib.request, urllib.error, urllib.parse | |
28 | from lxml.html import fromstring, tostring |
|
28 | from lxml.html import fromstring, tostring | |
29 | from lxml.cssselect import CSSSelector |
|
29 | from lxml.cssselect import CSSSelector | |
30 | import urllib.parse.urlparse |
|
|||
31 | from urllib.parse import unquote_plus |
|
30 | from urllib.parse import unquote_plus | |
32 | import webob |
|
31 | import webob | |
33 |
|
32 |
General Comments 0
You need to be logged in to leave comments.
Login now