def handle_user_request(message, *args, **kwargs): request = HTTPRequest() try: process_http_message(request, message, *args, **kwargs) response = handle_http_request(request) except HttpExceptionBase, e: response = handle_http_exception(request, e)
def test_process_http_message(): with patch.multiple('http.request_builder', parse_initial_line=DEFAULT, set_request_method_path=DEFAULT, _check_method=DEFAULT, set_request_headers=DEFAULT) as values: # Character \r is removed from line #2, #3 message = '''POST /index.html HTTP/1.1\r User-Agent: Ocean/14.08.01 Host: localhost:8181 Accept: text/xml\r ''' values['parse_initial_line'].return_value = 'POST', '/index.html', 'HTTP/1.1' request = mock_http_request() result = process_http_message(request, message) values['parse_initial_line'].assert_called_once_with('POST /index.html HTTP/1.1') values['set_request_method_path'].assert_called_once_with(request, 'POST', '/index.html') values['_check_method'].assert_called_once_with('POST') values['set_request_headers'].assert_called_once_with(request, [ 'User-Agent: Ocean/14.08.01', 'Host: localhost:8181', 'Accept: text/xml' ]) assert result == None