mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 00:03:28 +01:00
render_response has option to pass in statuscode
This commit is contained in:
parent
44ef14b022
commit
6d2c8286ca
@ -44,7 +44,8 @@ class J2TemplateView:
|
||||
|
||||
def render_response(self, **kwargs):
|
||||
template_result = self.render_to_string(**kwargs)
|
||||
return wbrequestresponse.WbResponse.text_response(str(template_result), content_type = 'text/html; charset=utf-8')
|
||||
status = kwargs.get('status', '200 OK')
|
||||
return wbrequestresponse.WbResponse.text_response(str(template_result), status = status, content_type = 'text/html; charset=utf-8')
|
||||
|
||||
|
||||
# Filters
|
||||
@ -74,7 +75,12 @@ class J2HtmlCapturesView(J2TemplateView):
|
||||
#=================================================================
|
||||
class TextCapturesView:
|
||||
def render_response(self, wbrequest, cdx_lines):
|
||||
cdx_lines = imap(lambda x: str(x) + '\n', cdx_lines)
|
||||
def to_str(cdx):
|
||||
cdx = str(cdx)
|
||||
if not cdx.endswith('\n'):
|
||||
cdx += '\n'
|
||||
return cdx
|
||||
cdx_lines = imap(to_str, cdx_lines)
|
||||
return wbrequestresponse.WbResponse.text_stream(cdx_lines)
|
||||
|
||||
|
||||
|
@ -59,7 +59,7 @@ def handle_exception(env, errorpage, exc, print_trace):
|
||||
|
||||
if errorpage:
|
||||
import traceback
|
||||
return errorpage.render_response(err_msg = str(exc), err_details = err_details)
|
||||
return errorpage.render_response(err_msg = str(exc), err_details = err_details, status = status)
|
||||
else:
|
||||
return WbResponse.text_response(status + ' Error: ' + str(exc), status = status)
|
||||
|
||||
@ -69,12 +69,13 @@ DEFAULT_CONFIG_FILE = 'config.yaml'
|
||||
|
||||
def main():
|
||||
try:
|
||||
# Attempt to load real settings from globalwb module
|
||||
logging.basicConfig(format = '%(asctime)s: [%(levelname)s]: %(message)s', level = logging.DEBUG)
|
||||
|
||||
# see if there's a custom init module
|
||||
config_name = os.environ.get('PYWB_CONFIG_MODULE')
|
||||
|
||||
if not config_name:
|
||||
# use default module
|
||||
config_name = 'pywb.pywb_init'
|
||||
logging.info('Loading from default config module "{0}"'.format(config_name))
|
||||
logging.info('')
|
||||
@ -87,7 +88,6 @@ def main():
|
||||
return app
|
||||
|
||||
except Exception as e:
|
||||
# Otherwise, start with the sample settings
|
||||
logging.exception('*** pywb could not init with settings from {0}.pywb_config()!\n'.format(config_name))
|
||||
raise e
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user