Encode API XML output to UTF-8

(cherry picked from commit 1ffd6c0ea1)
This commit is contained in:
JonnyWong16 2020-03-30 13:55:17 -07:00
parent b3f8341e0c
commit f4eff8a8c5

View file

@ -635,9 +635,9 @@ General optional parameters:
cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8' cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8'
try: try:
if self._api_debug: if self._api_debug:
out = json.dumps(out, indent=4, sort_keys=True, ensure_ascii=False).encode('utf-8') out = json.dumps(out, indent=4, sort_keys=True, ensure_ascii=False)
else: else:
out = json.dumps(out, ensure_ascii=False).encode('utf-8') out = json.dumps(out, ensure_ascii=False)
if self._api_callback is not None: if self._api_callback is not None:
cherrypy.response.headers['Content-Type'] = 'application/javascript' cherrypy.response.headers['Content-Type'] = 'application/javascript'
# wrap with JSONP call if requested # wrap with JSONP call if requested
@ -650,7 +650,7 @@ General optional parameters:
out['result'] = 'error' out['result'] = 'error'
elif self._api_out_type == 'xml': elif self._api_out_type == 'xml':
cherrypy.response.headers['Content-Type'] = 'application/xml' cherrypy.response.headers['Content-Type'] = 'application/xml;charset=UTF-8'
try: try:
out = xmltodict.unparse(out, pretty=True) out = xmltodict.unparse(out, pretty=True)
except Exception as e: except Exception as e:
@ -671,7 +671,7 @@ General optional parameters:
</response> </response>
''' % e ''' % e
return out return out.encode('utf-8')
def _api_run(self, *args, **kwargs): def _api_run(self, *args, **kwargs):
""" handles the stuff from the handler """ """ handles the stuff from the handler """