feat: add comprehensive GitHub workflow and development tools
This commit is contained in:
37
app/.venv/Lib/site-packages/rest_framework/utils/json.py
Normal file
37
app/.venv/Lib/site-packages/rest_framework/utils/json.py
Normal file
@@ -0,0 +1,37 @@
|
||||
"""
|
||||
Wrapper for the builtin json module that ensures compliance with the JSON spec.
|
||||
|
||||
REST framework should always import this wrapper module in order to maintain
|
||||
spec-compliant encoding/decoding. Support for non-standard features should be
|
||||
handled by users at the renderer and parser layer.
|
||||
"""
|
||||
import functools
|
||||
import json # noqa
|
||||
|
||||
|
||||
def strict_constant(o):
|
||||
raise ValueError('Out of range float values are not JSON compliant: ' + repr(o))
|
||||
|
||||
|
||||
@functools.wraps(json.dump)
|
||||
def dump(*args, **kwargs):
|
||||
kwargs.setdefault('allow_nan', False)
|
||||
return json.dump(*args, **kwargs)
|
||||
|
||||
|
||||
@functools.wraps(json.dumps)
|
||||
def dumps(*args, **kwargs):
|
||||
kwargs.setdefault('allow_nan', False)
|
||||
return json.dumps(*args, **kwargs)
|
||||
|
||||
|
||||
@functools.wraps(json.load)
|
||||
def load(*args, **kwargs):
|
||||
kwargs.setdefault('parse_constant', strict_constant)
|
||||
return json.load(*args, **kwargs)
|
||||
|
||||
|
||||
@functools.wraps(json.loads)
|
||||
def loads(*args, **kwargs):
|
||||
kwargs.setdefault('parse_constant', strict_constant)
|
||||
return json.loads(*args, **kwargs)
|
||||
Reference in New Issue
Block a user