diff --git a/pywb/core/pywb_init.py b/pywb/core/pywb_init.py index 263ff442..741aa489 100644 --- a/pywb/core/pywb_init.py +++ b/pywb/core/pywb_init.py @@ -19,7 +19,6 @@ from handlers import DebugEchoHandler, DebugEchoEnvHandler import os -import yaml import logging @@ -115,7 +114,12 @@ def create_wb_router(passed_config = {}): routes = [] - hostpaths = config.get('hostpaths') + # TODO: examine this more + hostname = os.environ.get('PYWB_HOST_NAME') + if hostname: + hostpaths = [hostname] + else: + hostpaths = config.get('hostpaths') port = config.get('port') diff --git a/pywb/core/views.py b/pywb/core/views.py index 3be55eae..319207fe 100644 --- a/pywb/core/views.py +++ b/pywb/core/views.py @@ -39,6 +39,7 @@ class J2TemplateView: jinja_env = Environment(loader = loader, trim_blocks = True) jinja_env.filters['format_ts'] = J2TemplateView.format_ts jinja_env.filters['host'] = J2TemplateView.get_host + jinja_env.filters['request_hostname'] = J2TemplateView.request_hostname return jinja_env def render_to_string(self, **kwargs): @@ -65,6 +66,10 @@ class J2TemplateView: return urlparse.urlsplit(url).netloc + @staticmethod + def request_hostname(env): + return env.get('HTTP_HOST', 'localhost') + # cdx index view diff --git a/pywb/framework/archivalrouter.py b/pywb/framework/archivalrouter.py index 6c901fac..78062864 100644 --- a/pywb/framework/archivalrouter.py +++ b/pywb/framework/archivalrouter.py @@ -37,16 +37,16 @@ class ArchivalRouter(object): if result: return result - # Home Page + # Default Home Page if env['REL_REQUEST_URI'] in ['/', '/index.html', '/index.htm']: - return self.render_home_page() + return self.render_home_page(env) return self.fallback(env, self.routes) if self.fallback else None - def render_home_page(self): + def render_home_page(self, env): # render the homepage! if self.home_view: - return self.home_view.render_response(routes=self.routes) + return self.home_view.render_response(env=env, routes=self.routes) else: # default home page template text = '\n'.join(map(str, self.routes)) diff --git a/pywb/framework/proxy.py b/pywb/framework/proxy.py index d27b922e..26f793ce 100644 --- a/pywb/framework/proxy.py +++ b/pywb/framework/proxy.py @@ -62,7 +62,7 @@ class ProxyRouter: request_uri=url, wb_url_str=url, #rel_prefix=url, - #host_prefix=self.hostpaths[0], + host_prefix=self.hostpaths[0], wburl_class=self.handler.get_wburl_type(), urlrewriter_class=ProxyHttpsUrlRewriter, use_abs_prefix=False,