Created
September 17, 2012 21:34
-
-
Save jvanasco/3739936 to your computer and use it in GitHub Desktop.
httpfound tests for pyramid
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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