# HG changeset patch # User Marcin Kuzminski # Date 2017-07-26 14:19:06 # Node ID c9da1578a41ca4fafb6f04ab6c1a1740f7f03864 # Parent b0de121b9818c1a528def7072b9fc22f3737d2d7 events: make sure we propagate our dummy request with proper application_url. - handles proper proxy prefix - handles https and reverse proxies diff --git a/rhodecode/lib/base.py b/rhodecode/lib/base.py --- a/rhodecode/lib/base.py +++ b/rhodecode/lib/base.py @@ -605,9 +605,13 @@ def add_events_routes(config): pattern='/{repo_name}/files/{commit_id}/{f_path}') -def bootstrap_request(): +def bootstrap_request(**kwargs): import pyramid.testing - request = pyramid.testing.DummyRequest() + request = pyramid.testing.DummyRequest(**kwargs) + request.application_url = kwargs.pop('application_url', 'http://example.com') + request.host = kwargs.pop('host', 'example.com:80') + request.domain = kwargs.pop('domain', 'example.com') + config = pyramid.testing.setUp(request=request) add_events_routes(config) diff --git a/rhodecode/lib/hooks_daemon.py b/rhodecode/lib/hooks_daemon.py --- a/rhodecode/lib/hooks_daemon.py +++ b/rhodecode/lib/hooks_daemon.py @@ -207,7 +207,9 @@ class Hooks(object): def _call_hook(self, hook, extras): extras = AttributeDict(extras) - extras.request = bootstrap_request() + + extras.request = bootstrap_request( + application_url=extras['server_url']) try: result = hook(extras)