Exemplo n.º 1
0
def create_request_from_environ(
        environ, session_class=None, session_options=None):
    """Create a new Request object.

    Create a new Request object based on a set of environ variables. To create
    a mutable version of the request you should copy() the Request object.

    If a POST variable named HTTP_REQUEST_METHOD is found, the Http Request
    method will be set to that method.
    """
    headers, server, cookies = split_headers_server_vars(environ)
    get, post, files = get_form_vars(environ)
    if post.get('HTTP_REQUEST_METHOD', '').upper() in REQUEST_METHODS:
        method = post.get('HTTP_REQUEST_METHOD')
    else:
        method = server['REQUEST_METHOD']
    request = Request(
        method, ImmutableMultiDict(get), ImmutableMultiDict(post),
        ImmutableMultiDict(files), ImmutableMultiDict(headers),
        ImmutableMultiDict(server), cookies)
    if session_class:
        request.define_session(session_class, session_options or {})
    return request
 def test_deep_copy(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     d2 = deepcopy(d)
     assert len(d) == len(d2)
 def test_copy(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     d2 = copy(d)
     d3 = d.copy()
     assert len(d) == len(d2)
     assert len(d) == len(d3)
 def test_del_value(self):
     with raises(TypeError):
         d = ImmutableMultiDict()
         d['something'] = 'test'
         del d['something']
 def test_create(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     assert len(d) == 2
Exemplo n.º 6
0
 def test_copy(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     d2 = copy(d)
     d3 = d.copy()
     assert d == d2
     assert d == d3
Exemplo n.º 7
0
 def test_del_value(self):
     d = ImmutableMultiDict()
     d['something'] = 'test'
     print('here')
     del d['something']
Exemplo n.º 8
0
 def test_set_value(self):
     d = ImmutableMultiDict()
     d['something'] = 'test'
Exemplo n.º 9
0
 def test_create(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     assert d.__len__() == 2