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