@@ -243,6 +243,20 @@ def url_for_theme(endpoint, override_theme=None, **values):
243 return url_for(endpoint, **values)
243 return url_for(endpoint, **values)
247+ if url.startswith('//'):
248+ url = 'https:' + url
250+ if not settings.get('result_proxy'):
253+ h = hmac.new(settings['result_proxy']['key'], url, hashlib.sha256).hexdigest()
255+ return '{0}?{1}'.format(settings['result_proxy']['url'],
256+ urlencode(dict(mortyurl=url.encode('utf-8'),
246def image_proxify(url):
260def image_proxify(url):
248 if url.startswith('//'):
262 if url.startswith('//'):
@@ -310,6 +324,8 @@ def render(template_name, override_theme=None, **kwargs):
311 kwargs['image_proxify'] = image_proxify
325 kwargs['image_proxify'] = image_proxify
327+ kwargs['proxify'] = proxify if settings.get('result_proxy') else None
313 kwargs['get_result_template'] = get_result_template
329 kwargs['get_result_template'] = get_result_template
315 kwargs['theme'] = get_current_theme_name(override=override_theme)
331 kwargs['theme'] = get_current_theme_name(override=override_theme)