When sending requests to the /@registry endpoint to retrieve registry options. The request fails when there is a json serialization issue in only one of the registry options.
$ curl http://localhost:6003/Plone/@registry\?b_size\=3226 -H "Accept: application/json" --user admin:admin
{
"message": "Object of type datetime is not JSON serializable",
"traceback": [
"File \"/buildout/eggs/Zope-5.7-py3.8.egg/ZPublisher/WSGIPublisher.py\", line 167, in transaction_pubevents",
" yield",
"",
" File \"/buildout/eggs/Zope-5.7-py3.8.egg/ZPublisher/WSGIPublisher.py\", line 376, in publish_module",
" response = _publish(request, new_mod_info)",
"",
" File \"/buildout/eggs/Zope-5.7-py3.8.egg/ZPublisher/WSGIPublisher.py\", line 271, in publish",
" result = mapply(obj,",
"",
" File \"/buildout/eggs/Zope-5.7-py3.8.egg/ZPublisher/mapply.py\", line 85, in mapply",
" return debug(object, args, context)",
"",
" File \"/buildout/eggs/Zope-5.7-py3.8.egg/ZPublisher/WSGIPublisher.py\", line 68, in call_object",
" return obj(*args)",
"",
" File \"/buildout/eggs/plone.rest-2.0.0-py3.8.egg/plone/rest/service.py\", line 22, in __call__",
" return self.render()",
"",
" File \"/buildout/eggs/plone.restapi-8.32.6-py3.8.egg/plone/restapi/services/__init__.py\", line 22, in render",
" return json.dumps(",
"",
" File \"/usr/lib64/python3.8/json/__init__.py\", line 234, in dumps",
" return cls(",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 201, in encode",
" chunks = list(chunks)",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 431, in _iterencode",
" yield from _iterencode_dict(o, _current_indent_level)",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 405, in _iterencode_dict",
" yield from chunks",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 325, in _iterencode_list",
" yield from chunks",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 405, in _iterencode_dict",
" yield from chunks",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 405, in _iterencode_dict",
" yield from chunks",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 405, in _iterencode_dict",
" yield from chunks",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 438, in _iterencode",
" o = _default(o)",
"",
" File \"/usr/lib64/python3.8/json/encoder.py\", line 179, in default",
" raise TypeError(f'Object of type {o.__class__.__name__} '"
],
"type": "TypeError"
}
When sending requests to the /@registry endpoint to retrieve registry options. The request fails when there is a json serialization issue in only one of the registry options.