webobissue19 / testcase.py

#!/usr/bin/env python

from google.appengine.ext import webapp
from traceback import format_exc
import logging

class Handler(webapp.RequestHandler):
    def _make_handler(method):
        def handler(self, *args, **kw):
            logging.info('Hello, webob: self.request.__class__.__bases__: %r' %
                self.request.__class__.__bases__)

            if 'content-length' not in self.request.headers:
                logging.info('No Content-Length header')

            logging.info('About to try logging request headers...')
            try:
                logging.info(repr(self.request.headers))
            except:
                tb = format_exc()
                env = self.request.environ
                logging.error(tb)
                logging.error(env)
                self.response.headers['content-type'] = 'text/plain'
                self.response.out.write(tb)
                self.response.out.write(env)
            else:
                self.response.out.write('OK\n')
        handler.func_name = method
        return handler

    for i in ('delete', 'get', 'head', 'put', 'post'):
        locals()[i] = _make_handler(i)

app = webapp.WSGIApplication((
    ('.*', Handler),
    ))

def main():
    from google.appengine.ext.webapp.util import run_wsgi_app
    run_wsgi_app(app)

if __name__ == "__main__":
    main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.