Return the correct Content-type on negotiated XML-RPC requests.

https://fedorahosted.org/freeipa/ticket/3745
This commit is contained in:
Rob Crittenden
2013-07-11 16:46:34 -04:00
committed by Martin Kosek
parent 57fd275d7a
commit 689399fce9

View File

@@ -699,6 +699,7 @@ class xmlserver(WSGIExecutioner, HTTP_Status, KerberosSession):
self.debug('WSGI xmlserver.__call__:')
user_ccache=environ.get('KRB5CCNAME')
headers = [('Content-Type', 'text/xml; charset=utf-8')]
if user_ccache is None:
self.internal_error(environ, start_response,
'xmlserver.__call__: KRB5CCNAME not defined in HTTP request environment')
@@ -708,11 +709,10 @@ class xmlserver(WSGIExecutioner, HTTP_Status, KerberosSession):
response = super(xmlserver, self).__call__(environ, start_response)
if getattr(context, 'session_data', None) is None and \
self.env.context != 'lite':
self.finalize_kerberos_acquisition('xmlserver', user_ccache, environ, start_response)
self.finalize_kerberos_acquisition('xmlserver', user_ccache, environ, start_response, headers)
except PublicError, e:
status = HTTP_STATUS_SUCCESS
response = status
headers = [('Content-Type', 'text/plain; charset=utf-8')]
start_response(status, headers)
return self.marshal(None, e)
finally: