from paste.session import SessionMiddleware def myapp(environ, start_response): session = environ['paste.session.factory']() if 'count' in session: count = session['count'] else: count = 1 session['count'] = count + 1 start_response('200 OK', [('Content-Type', 'text/plain')]) return ['You have been here %d times!\n' % count] class myapp2: def __init__(self, environ, start_response): self.environ = environ self.start = start_response def __iter__(self): session = self.environ['paste.session.factory']() if 'count' in session: count = session['count'] else: count = 1 session['count'] = count + 1 self.start('200 OK', [('Content-type','text/plain')]) yield 'You have been here %d times!\n' % count app = SessionMiddleware(myapp) app2 = SessionMiddleware(myapp2) if __name__ == '__main__': from wsgiref import simple_server # if you want to test the function-based wsgi application, change app2 to app httpd = simple_server.make_server('', 8080, app2) try: httpd.serve_forever() except KeyboardInterrupt: pass