Encode API XML output to UTF-8

This commit is contained in:
JonnyWong16 2020-03-30 13:55:17 -07:00
parent 50ce29cc64
commit 1ffd6c0ea1

View file

@ -619,9 +619,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
@ -634,7 +634,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:
@ -655,7 +655,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 """