_environCopies = ['SCRIPT_NAME', 'QUERY_STRING', 'AUTH_TYPE'] _environRenames = {} def _defaultFilterEnviron(self, environ): result = {} for n in environ.keys(): for p in self._environPrefixes: if n.startswith(p): result[n] = environ[n] if n in self._environCopies: result[n] = environ[n] if n in self._environRenames: result[self._environRenames[n]] = environ[n] return result def _lightFilterEnviron(self, environ): result = {} for n in environ.keys(): if n.upper() == n: result[n] = environ[n] return result if __name__ == '__main__': from flup.server.ajp import WSGIServer app = FCGIApp(connect=('localhost', 4242)) #import paste.lint #app = paste.lint.middleware(app) WSGIServer(app).run()
# also return a length 1 iterable! try: i = iter(result) # Hmmm, if we get a StopIteration here, the application's # broken (__len__ lied!) data = i.next() if g.gzip_ok: return [g.gzip_data(data) + g.gzip_trailer()] else: return [data] finally: if hasattr(result, 'close'): result.close() return _GzipIterWrapper(result, g) if __name__ == '__main__': def app(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) yield 'Hello World!\n' from wsgiref import validate app = validate.validator(app) app = GzipMiddleware(app) app = validate.validator(app) from flup.server.ajp import WSGIServer import logging WSGIServer(app, loggingLevel=logging.DEBUG).run()