Skip to content

Instantly share code, notes, and snippets.

@jvanasco
Created September 17, 2012 21:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jvanasco/3739936 to your computer and use it in GitHub Desktop.
Save jvanasco/3739936 to your computer and use it in GitHub Desktop.
httpfound tests for pyramid
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
from pyramid.httpexceptions import HTTPFound
urls_debug = ('/raise','/return')
def _parse_cookies(items):
return [ (k,v) for (k,v) in items.iteritems() if k.lower() == 'set-cookie']
def _print_request_view_test(request):
request.response.set_cookie( 'my_test_cookie', value='1', max_age=2592000, path='/' )
print "___________________________________________________________________________"
print "in view..."
print "---- request object id || %s" % id(request)
print "---- request.response object id || %s " % id(request.response)
print id(request)
print "---- request object cookies"
print _parse_cookies( request.response.headers )
print "___________________________________________________________________________"
def view_section_ok(request):
return Response('ok %(section)s!' % request.matchdict )
def view_httpfound_raise(request):
_print_request_view_test( request )
raise HTTPFound('/raise/ok')
def view_httpfound_return(request):
_print_request_view_test( request )
return HTTPFound('/return/ok')
def subscriber_new_request(event):
url = event.request.environ['PATH_INFO']
if url in urls_debug:
print ""
print ""
print "##############################################################################"
print ""
print ""
def subscriber_new_response(event):
"""subscriber_new_response(event) ; """
url = event.request.environ['PATH_INFO']
if url in urls_debug:
print "___________________________________________________________________________"
print "in subscriber..."
print "---- event.request object id || %s" % id(event.request)
print "---- event.request.response object id || %s " % id(event.request.response)
print "---- event.response object id || %s " % id(event.response)
print "---- cookies request"
print _parse_cookies( event.request.response.headers )
print "---- cookies response"
print _parse_cookies( event.response.headers )
print "___________________________________________________________________________"
if __name__ == '__main__':
config = Configurator()
config.add_route('section_ok', '/{section}/ok')
config.add_view(view_section_ok, route_name='section_ok')
config.add_route('httpfound_raise', '/raise')
config.add_view(view_httpfound_raise, route_name='httpfound_raise')
config.add_route('httpfound_return', '/return')
config.add_view(view_httpfound_return, route_name='httpfound_return')
config.add_subscriber(\
subscriber_new_request,
'pyramid.events.NewRequest'
)
config.add_subscriber(\
subscriber_new_response,
'pyramid.events.NewResponse'
)
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 8080, app)
server.serve_forever()
# http://127.0.0.1:8080/return
# http://127.0.0.1:8080/raise
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment