view example/example.py @ 47:f2474ffcee96

avoid namespace collisions; buckle your safety-belt
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 30 Dec 2013 10:12:25 -0800
parents 52713d176ab9
children
line wrap: on
line source

#!/usr/bin/env python

def example_app(environ, start_response):
  if environ['PATH_INFO'].strip('/') == 'authorization_required':
    user = environ.get('REMOTE_USER')
    if user:
      start_response("200 OK", [('Content-Type', 'text/plain'),
                                ('Content-Length', str(len(user)))])
      return [user]
    else:
      text = '401 Unauthorized'
      start_response("401 Unauthorized", [('Content-Type', 'text/plain'),
                                          ('Content-Length', str(len(text)))])
      return [text]
  text = """<html><body>
  <a href="/authorization_required">bet you can't go here!</a>
</body></html>"""
  start_response("200 OK", [('Content-Type', 'text/html'),
                            ('Content-Length', str(len(text)))])
  return [text]

if __name__ == '__main__':
  from wsgiref import simple_server
  server = simple_server.make_server('127.0.0.1', 12345, example_app)
  server.serve_forever()