コード例 #1
0
ファイル: messages.py プロジェクト: enigma/watson
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
コード例 #2
0
 def test_deep_copy(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     d2 = deepcopy(d)
     assert len(d) == len(d2)
コード例 #3
0
 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)
コード例 #4
0
 def test_del_value(self):
     with raises(TypeError):
         d = ImmutableMultiDict()
         d['something'] = 'test'
         del d['something']
コード例 #5
0
 def test_create(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     assert len(d) == 2
コード例 #6
0
ファイル: test_datastructures.py プロジェクト: enigma/watson
 def test_copy(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     d2 = copy(d)
     d3 = d.copy()
     assert d == d2
     assert d == d3
コード例 #7
0
 def test_del_value(self):
     d = ImmutableMultiDict()
     d['something'] = 'test'
     print('here')
     del d['something']
コード例 #8
0
 def test_set_value(self):
     d = ImmutableMultiDict()
     d['something'] = 'test'
コード例 #9
0
ファイル: test_datastructures.py プロジェクト: enigma/watson
 def test_create(self):
     d = ImmutableMultiDict({'test': 'blah', 'something': '2'})
     assert d.__len__() == 2