Merge "Fix incorrect status handling at staticweb"
This commit is contained in:
commit
87ab2f6e8c
@ -349,7 +349,7 @@ class _StaticWebContext(WSGIContext):
|
||||
status_int = self._get_status_int()
|
||||
if status_int == HTTP_NOT_FOUND:
|
||||
return self._listing(env, start_response)
|
||||
elif not is_success(self._get_status_int()) or \
|
||||
elif not is_success(self._get_status_int()) and \
|
||||
not is_redirection(self._get_status_int()):
|
||||
return self._error_response(resp, env, start_response)
|
||||
start_response(self._response_status, self._response_headers,
|
||||
|
@ -53,6 +53,8 @@ meta_map = {
|
||||
'c11': {'meta': {'web-index': 'index.html'}},
|
||||
'c11a': {'meta': {'web-index': 'index.html',
|
||||
'web-directory-type': 'text/directory'}},
|
||||
'c12': {'meta': {'web-index': 'index.html',
|
||||
'web-error': 'error.html'}},
|
||||
}
|
||||
|
||||
|
||||
@ -231,6 +233,12 @@ class FakeApp(object):
|
||||
'not_a/directory'})(env, start_response)
|
||||
elif env['PATH_INFO'] == '/v1/a/c11a/subdir3/index.html':
|
||||
return Response(status='404 Not Found')(env, start_response)
|
||||
elif env['PATH_INFO'] == '/v1/a/c12/index.html':
|
||||
return Response(status='200 Ok', body='index file')(env,
|
||||
start_response)
|
||||
elif env['PATH_INFO'] == '/v1/a/c12/200error.html':
|
||||
return Response(status='200 Ok', body='error file')(env,
|
||||
start_response)
|
||||
else:
|
||||
raise Exception('Unknown path %r' % env['PATH_INFO'])
|
||||
|
||||
@ -651,6 +659,12 @@ class TestStaticWeb(unittest.TestCase):
|
||||
self.test_staticweb)
|
||||
self.assertEquals(resp.status_int, 200)
|
||||
|
||||
def test_container12unredirectedrequest(self):
|
||||
resp = Request.blank('/v1/a/c12/').get_response(
|
||||
self.test_staticweb)
|
||||
self.assertEquals(resp.status_int, 200)
|
||||
self.assert_('index file' in resp.body)
|
||||
|
||||
def test_subrequest_once_if_possible(self):
|
||||
resp = Request.blank(
|
||||
'/v1/a/c4/one.txt').get_response(self.test_staticweb)
|
||||
|
Loading…
x
Reference in New Issue
Block a user