def render_GET(self, request): #log.msg("%s %s %s %s" % (id(request), request.method, request.path, request.args)) request.starttime = time.time() render_options = RenderOptions.fromrequest(request, self.max_timeout) # check arguments before starting the render render_options.get_filters(self.pool) timeout = render_options.get_timeout() wait_time = render_options.get_wait() pool_d = self._get_render(request, render_options) timer = reactor.callLater(timeout + wait_time, pool_d.cancel) request.notifyFinish().addErrback(self._request_failed, pool_d, timer) pool_d.addCallback(self._cancel_timer, timer) pool_d.addCallback(self._write_output, request) pool_d.addErrback(self._on_timeout_error, request, timeout=timeout) pool_d.addErrback(self._on_render_error, request) pool_d.addErrback(self._on_bad_request, request) pool_d.addErrback(self._on_internal_error, request) pool_d.addBoth(self._finish_request, request, options=render_options.data) return NOT_DONE_YET
def _validate_params(self, request): options = RenderOptions.fromrequest(request, self.max_timeout) options.get_filters(self.pool) # check params = options.get_common_params(self.pool.js_profiles_path) params.update({"timeout": options.get_timeout(), "har": 1, "png": 1, "html": 1}) if self.lua_enabled: params.update({"lua_source": options.get_lua_source()}) return params
def _validate_params(self, request): options = RenderOptions.fromrequest(request, self.max_timeout) options.get_filters(self.pool) # check params = options.get_common_params(self.pool.js_profiles_path) params.update({ 'timeout': options.get_timeout(), 'har': 1, 'png': 1, 'html': 1, }) if self.lua_enabled: params.update({ 'lua_source': options.get_lua_source(), }) return params
def render_GET(self, request): #log.msg("%s %s %s %s" % (id(request), request.method, request.path, request.args)) request.starttime = time.time() render_options = RenderOptions.fromrequest(request, self.max_timeout) # process argument cache original_options = render_options.data.copy() expired_args = render_options.get_expired_args(self.argument_cache) if expired_args: error = self._write_expired_args(request, expired_args) self._log_stats(request, original_options, error) return b"\n" saved_args = render_options.save_args_to_cache(self.argument_cache) if saved_args: value = ';'.join("{}={}".format(name, value) for name, value in saved_args) request.setHeader(b'X-Splash-Saved-Arguments', value.encode('utf8')) render_options.load_cached_args(self.argument_cache) # check arguments before starting the render render_options.get_filters(self.pool) render_options.get_engine( browser_engines_enabled=self.browser_engines_enabled) timeout = render_options.get_timeout() pool_d = self._get_render(request, render_options) timer = reactor.callLater(timeout, pool_d.cancel) request.notifyFinish().addErrback(self._request_failed, pool_d, timer) pool_d.addCallback(self._cancel_timer, timer) pool_d.addCallback(self._write_output, request) pool_d.addErrback(self._on_timeout_error, request, timeout=timeout, timer=timer) pool_d.addErrback(self._on_render_error, request) pool_d.addErrback(self._on_bad_request, request) pool_d.addErrback(self._on_internal_error, request) pool_d.addErrback(self._on_unhandled_internal_error, request) pool_d.addBoth(self._finish_request, request, options=original_options) return NOT_DONE_YET
def render_GET(self, request): #log.msg("%s %s %s %s" % (id(request), request.method, request.path, request.args)) request.starttime = time.time() render_options = RenderOptions.fromrequest(request, self.max_timeout) render_options.get_filters(self.pool) # check filters earlier pool_d = self._getRender(request, render_options) timeout = render_options.get_timeout() wait_time = render_options.get_wait() timer = reactor.callLater(timeout + wait_time, pool_d.cancel) pool_d.addCallback(self._cancelTimer, timer) pool_d.addCallback(self._writeOutput, request) pool_d.addErrback(self._timeoutError, request) pool_d.addErrback(self._renderError, request) pool_d.addErrback(self._badRequest, request) pool_d.addErrback(self._internalError, request) pool_d.addBoth(self._finishRequest, request) return NOT_DONE_YET
def render_GET(self, request): #log.msg("%s %s %s %s" % (id(request), request.method, request.path, request.args)) request.starttime = time.time() render_options = RenderOptions.fromrequest(request) render_options.get_filters(self.pool) # check filters earlier pool_d = self._getRender(request, render_options) timeout = render_options.get_timeout() wait_time = render_options.get_wait() timer = reactor.callLater(timeout+wait_time, pool_d.cancel) pool_d.addCallback(self._cancelTimer, timer) pool_d.addCallback(self._writeOutput, request) pool_d.addErrback(self._timeoutError, request) pool_d.addErrback(self._renderError, request) pool_d.addErrback(self._badRequest, request) pool_d.addErrback(self._internalError, request) pool_d.addBoth(self._finishRequest, request) return NOT_DONE_YET
def _validate_params(self, request): options = RenderOptions.fromrequest(request, self.max_timeout) options.get_filters(self.pool) # check params = options.get_common_params(self.pool.js_profiles_path) params.update({ 'save_args': options.get_save_args(), 'load_args': options.get_load_args(), 'timeout': options.get_timeout(), 'har': 1, 'png': 1, 'html': 1, }) filters = options.get('filters', default='') if filters: params['filters'] = filters if self.lua_enabled: params.update({ 'lua_source': options.get_lua_source(), }) return params
def render_GET(self, request): #log.msg("%s %s %s %s" % (id(request), request.method, request.path, request.args)) request.starttime = time.time() render_options = RenderOptions.fromrequest(request, self.max_timeout) # process argument cache original_options = render_options.data.copy() expired_args = render_options.get_expired_args(self.argument_cache) if expired_args: error = self._write_expired_args(request, expired_args) self._log_stats(request, original_options, error) return b"\n" saved_args = render_options.save_args_to_cache(self.argument_cache) if saved_args: value = ';'.join("{}={}".format(name, value) for name, value in saved_args) request.setHeader(b'X-Splash-Saved-Arguments', value.encode('utf8')) render_options.load_cached_args(self.argument_cache) # check arguments before starting the render render_options.get_filters(self.pool) timeout = render_options.get_timeout() wait_time = render_options.get_wait() pool_d = self._get_render(request, render_options) timer = reactor.callLater(timeout+wait_time, pool_d.cancel) request.notifyFinish().addErrback(self._request_failed, pool_d, timer) pool_d.addCallback(self._cancel_timer, timer) pool_d.addCallback(self._write_output, request) pool_d.addErrback(self._on_timeout_error, request, timeout=timeout) pool_d.addErrback(self._on_render_error, request) pool_d.addErrback(self._on_bad_request, request) pool_d.addErrback(self._on_internal_error, request) pool_d.addBoth(self._finish_request, request, options=original_options) return NOT_DONE_YET
def render_GET(self, request): #log.msg("%s %s %s %s" % (id(request), request.method, request.path, request.args)) request.starttime = time.time() render_options = RenderOptions.fromrequest(request, self.max_timeout) # check arguments before starting the render render_options.get_filters(self.pool) timeout = render_options.get_timeout() wait_time = render_options.get_wait() pool_d = self._get_render(request, render_options) timer = reactor.callLater(timeout+wait_time, pool_d.cancel) pool_d.addCallback(self._cancel_timer, timer) pool_d.addCallback(self._write_output, request, options=render_options.data) pool_d.addErrback(self._on_timeout_error, request, timeout=timeout) pool_d.addErrback(self._on_render_error, request) pool_d.addErrback(self._on_bad_request, request) pool_d.addErrback(self._on_internal_error, request) pool_d.addBoth(self._finish_request, request) return NOT_DONE_YET