예제 #1
0
 def do_test(handler, path, result):
     environment = {'PATH_INFO': path + '/'}
     handler = pyroutes.route(path)(handler)
     response = pyroutes.__dispatcher__.dispatch(environment, ArgKeep)
     self.assertTrue(isinstance(handler, Route))
     self.assertEquals(response, [result])
     self.assertEquals(args_given, [('200 OK', [('Content-Type', 'text/html; charset=utf-8')]), {}])
예제 #2
0
    def test_middleware_chainer(self):
        handler = lambda x: 'result'
        request = Request({})

        self.assertEquals(settings.MIDDLEWARE,
                ('pyroutes.middleware.errors.NotFoundMiddleware',
                'pyroutes.middleware.errors.ErrorHandlerMiddleware'))

        handler = pyroutes.route('/path')(handler)
        result = pyroutes.dispatcher.create_middleware_chain(handler, request)
        self.assertTrue(isinstance(handler, Route))
        self.assertEquals(result, 'result')
예제 #3
0
    def test_middleware_chainer(self):
        handler = lambda x: 'result'
        request = Request({'PATH_INFO': '/path/'})

        self.assertEquals(settings.MIDDLEWARE,
                ('pyroutes.middleware.errors.NotFoundMiddleware',
                'pyroutes.middleware.responsify.Responsify',
                'pyroutes.middleware.errors.ErrorHandlerMiddleware'))

        handler = pyroutes.route('/path')(handler)
        result = pyroutes.__dispatcher__.create_middleware_chain(handler, request)
        self.assertTrue(isinstance(handler, Route))
        self.assertTrue(isinstance(result, Response))
예제 #4
0
    except KeyError:
        raise Http403({'#details': 'Key did not match file'})

@route('/cookie-set')
def set_cookies(request, message='Hi!'):
    response = Response('Cookies set!')
    response.cookies.add_cookie('logged_in', 'true')
    # Insecure cookie setting
    response.cookies.add_unsigned_cookie('message', message)
    return response

@route('/cookie-get')
def get_cookies(request):
    logged_in = request.COOKIES.get_cookie('logged_in')
    message = request.COOKIES.get_unsigned_cookie('message')
    if logged_in:
        return message
    raise Http403({'#details': 'Go away!'})

@route('/cookie-del')
def get_cookies(request):
    response = Response('Cookies deleted!')
    response.cookies.del_cookie('logged_in')
    response.cookies.del_cookie('message')
    return response

if __name__ == '__main__':
    from pyroutes import utils
    route('/media')(utils.fileserver)
    utils.devserver(application)
예제 #5
0
파일: wiki.py 프로젝트: igoralves/pyroutes
    if 'new_node_data' in request.POST:
        nodes[node] = request.POST['new_node_data']
        return Redirect('/show/%s' % node)

    template_data = {
        # XML-Template will remove the textarea node if None
        '#edit_contents': nodes.get(node) or '',
        '#edit_form/action': '/edit/%s' % node,
    }
    return Response(renderer.render("templates/edit.xml", template_data),
                    status_code="404 Not Found")


@route('/show')
def show(request, node):
    node_contents = nodes.get(node)

    if node_contents is None:
        return Redirect("/edit/%s" % node)

    template_data = {
        '#view_contents': node_contents,
        '#edit_link/href': '/edit/%s' % node
    }
    return Response(renderer.render("templates/show.xml", template_data))


if __name__ == '__main__':
    route('/media')(utils.fileserver)
    utils.devserver(application)