Skip to content

Commit

Permalink
Made api_setting.UNICODE_JSON/ensure_ascii affecting json schema (enc…
Browse files Browse the repository at this point in the history
  • Loading branch information
meteozond authored and sigvef committed Dec 3, 2022
1 parent 179b4be commit 6c237e0
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions rest_framework/renderers.py
Original file line number Diff line number Diff line change
Expand Up @@ -1035,13 +1035,16 @@ class CoreAPIJSONOpenAPIRenderer(_BaseOpenAPIRenderer):
media_type = 'application/vnd.oai.openapi+json'
charset = None
format = 'openapi-json'
ensure_ascii = not api_settings.UNICODE_JSON

def __init__(self):
assert coreapi, 'Using CoreAPIJSONOpenAPIRenderer, but `coreapi` is not installed.'

def render(self, data, media_type=None, renderer_context=None):
structure = self.get_structure(data)
return json.dumps(structure, indent=4).encode('utf-8')
return json.dumps(
structure, indent=4,
ensure_ascii=self.ensure_ascii).encode('utf-8')


class OpenAPIRenderer(BaseRenderer):
Expand All @@ -1065,6 +1068,9 @@ class JSONOpenAPIRenderer(BaseRenderer):
charset = None
encoder_class = encoders.JSONEncoder
format = 'openapi-json'
ensure_ascii = not api_settings.UNICODE_JSON

def render(self, data, media_type=None, renderer_context=None):
return json.dumps(data, cls=self.encoder_class, indent=2).encode('utf-8')
return json.dumps(
data, cls=self.encoder_class, indent=2,
ensure_ascii=self.ensure_ascii).encode('utf-8')

0 comments on commit 6c237e0

Please sign in to comment.