def create_404_image(): msg = Image.new("RGB", (100, 20), (0, 0, 0)) draw = ImageDraw.Draw(msg) draw.text((5, 5), "404 Not found", fill=(255, 255, 255)) del draw f = StringIO() msg.save(f, "JPEG") del msg app = DataApp(content=f.getvalue(), content_type='image/jpeg') app.cache_control(public=True, max_age=86400*36500) return app
def _get_handler(self, environ): path = environ['PATH_INFO'] filepath = p.join(self._basedir, *path.split('/')) if not p.exists(filepath): return HTTPNotFound('The resource does not exist', comment="Nothing at %r" % path).wsgi_application # TODO: this exposes all files; sep. query-views-tplts and static files if p.isfile(filepath): return FileApp(filepath) else: data, mimetype, encoding = self._process_view(filepath) headers = [ ('Content-Type', mimetype), ('Content-Encoding', encoding), ] return DataApp(data, headers)
def get_info(environ, start_response): # command = dict(parse_querystring(environ)).get('command','') page = str(parse_querystring(environ)) # if command == 'clear': # if 'REMOTE_USER' in environ: # del environ['REMOTE_USER'] # if 'REMOTE_SESSION' in environ: # del environ['REMOTE_SESSION'] # else: # environ['REMOTE_SESSION'] = authfunc(environ, my_realm, environ['REMOTE_USER'] ) # if environ.get('REMOTE_USER'): # page = '<html><body>Welcome %s (%s)</body></html>' # page %= (environ['REMOTE_USER'], environ['REMOTE_SESSION']) # else: # page = ('<html><body><form><input name="user" />' # '<input type="submit" /></form></body></html>') return DataApp(page, content_type="text/plain")(environ, start_response)
def test_dataapp(self): from paste.fileapp import DataApp app = DataApp('Ababoua') status, headers, app_it = request.call_application(app) assert False
def get(self, environ, start_response): if "max-age=0" in CACHE_CONTROL(environ).lower(): self.update(force=True) # RFC 2616 13.2.6 else: self.update() return DataApp.get(self, environ, start_response)
LAUNCHPAD_SERVICES, ) from lp.codehosting.safe_open import safe_open from lp.codehosting.vfs import get_lp_server from lp.services.config import config from lp.services.webapp.errorlog import ErrorReportingUtility from lp.services.webapp.openid import set_default_openid_fetcher from lp.services.webapp.vhosts import allvhosts from lp.xmlrpc import faults robots_txt = '''\ User-agent: * Disallow: / ''' robots_app = DataApp(robots_txt, content_type='text/plain') thread_locals = threading.local() set_default_openid_fetcher() def check_fault(fault, *fault_classes): """Check if 'fault's faultCode matches any of 'fault_classes'. :param fault: An instance of `xmlrpclib.Fault`. :param fault_classes: Any number of `LaunchpadFault` subclasses. """ for cls in fault_classes: if fault.faultCode == cls.error_code: return True
def get(self, environ, start_response): if 'max-age=0' in CACHE_CONTROL(environ).lower(): self.update(force=True) # RFC 2616 13.2.6 else: self.update() return DataApp.get(self, environ, start_response)