def __call__(self, wbrequest): url = wbrequest.wb_url_str.split('?')[0] full_path = self.static_path + url try: data = self.block_loader.load(full_path) data.seek(0, 2) size = data.tell() data.seek(0) headers = [('Content-Length', str(size))] if 'wsgi.file_wrapper' in wbrequest.env: reader = wbrequest.env['wsgi.file_wrapper'](data) else: reader = iter(lambda: data.read(), '') content_type = 'application/octet-stream' guessed = mimetypes.guess_type(full_path) if guessed[0]: content_type = guessed[0] return WbResponse.text_stream(reader, content_type=content_type, headers=headers) except IOError: raise NotFoundException('Static File Not Found: ' + wbrequest.wb_url_str)
def __call__(self, wbrequest): url = wbrequest.wb_url_str.split('?')[0] full_path = self.static_path + url try: data = self.block_loader.load(full_path) try: data.seek(0, 2) size = data.tell() data.seek(0) headers = [('Content-Length', str(size))] except IOError: headers = None if 'wsgi.file_wrapper' in wbrequest.env: reader = wbrequest.env['wsgi.file_wrapper'](data) else: reader = iter(lambda: data.read(), '') content_type = 'application/octet-stream' guessed = mimetypes.guess_type(full_path) if guessed[0]: content_type = guessed[0] return WbResponse.text_stream(data, content_type=content_type, headers=headers) except IOError: raise NotFoundException('Static File Not Found: ' + wbrequest.wb_url_str)
def __call__(self, wbrequest): params = self.extract_params_from_wsgi_env(wbrequest.env) cdx_iter = self.index_handler.load_cdx(wbrequest, params) return WbResponse.text_stream(cdx_iter, content_type='text/plain')
def make_cdx_response(self, wbrequest, cdx_iter, output, **kwargs): # if not text, the iterator is assumed to be CDXObjects if output and output != 'text': view = self.views.get(output) if view: return view.render_response(wbrequest, cdx_iter, **kwargs) return WbResponse.text_stream(cdx_iter)
def make_cdx_response(self, wbrequest, cdx_iter, output, **kwargs): # if not text, the iterator is assumed to be CDXObjects if output and output != 'text': view = self.views.get(output) if view: return view.render_response(wbrequest, cdx_iter, **kwargs) return WbResponse.text_stream(cdx_iter)
def render_response(self, wbrequest, cdx_lines, **kwargs): memento_lines = make_timemap(wbrequest, cdx_lines) new_memento_lines = self.fix_timegate_line(memento_lines) response = WbResponse.text_stream(new_memento_lines, content_type=LINK_FORMAT, ) response.status_headers.headers.append(('Cache-Control', 'max-age={}'.format(settings.CACHE_MAX_AGES['timemap']))) return response
def render_response(self, wbrequest, cdx_lines, **kwargs): memento_lines = make_timemap(wbrequest, cdx_lines) new_memento_lines = self.fix_timegate_line(memento_lines) response = WbResponse.text_stream( new_memento_lines, content_type=LINK_FORMAT, ) response.status_headers.headers.append( ('Cache-Control', 'max-age={}'.format(settings.CACHE_MAX_AGES['timemap']))) return response
def __call__(self, wbrequest): params = self.extract_params_from_wsgi_env(wbrequest.env) try: cdx_iter = self.index_handler.load_cdx(wbrequest, params) except NotFoundException: msg = 'No Captures found for: ' + params.get('url') if params.get('output') == 'json': msg = json.dumps(dict(error=msg)) content_type='application/json' else: content_type='text/plain' return WbResponse.text_response(msg, content_type=content_type, status='404 Not Found') return WbResponse.text_stream(cdx_iter, content_type='text/plain')
def __call__(self, wbrequest): params = self.extract_params_from_wsgi_env(wbrequest.env) try: cdx_iter = self.index_handler.load_cdx(wbrequest, params) except NotFoundException: msg = 'No Captures found for: ' + params.get('url') if params.get('output') == 'json': msg = json.dumps(dict(error=msg)) content_type = 'application/json' else: content_type = 'text/plain' return WbResponse.text_response(msg, content_type=content_type, status='404 Not Found') return WbResponse.text_stream(cdx_iter, content_type='text/plain')
def __call__(self, wbrequest): params = self.extract_params_from_wsgi_env(wbrequest.env) cdx_iter = self.index_handler.load_cdx(wbrequest, params) return WbResponse.text_stream(cdx_iter)
def render_response(self, wbrequest, cdx_lines, **kwargs): memento_lines = make_timemap(wbrequest, cdx_lines) return WbResponse.text_stream(memento_lines, content_type=LINK_FORMAT)
def render_response(self, wbrequest, cdx_lines): memento_lines = make_timemap(wbrequest, cdx_lines) return WbResponse.text_stream(memento_lines, content_type=LINK_FORMAT)