docs: def json(self):
          ''' If the ``Content-Type`` header is ``application/json``, this
              property holds the parsed content of the request body. Only requests
              smaller than :attr:`MEMFILE_MAX` are processed to avoid memory
              exhaustion. '''
          ctype = self.environ.get('CONTENT_TYPE', '').lower().split(';')[0]
          if ctype == 'application/json':
              b = self._get_body_string()
              if not b:
                  return None
              return json_loads(b)
          return None