def construct_body(self, kwargs):
        # This does do some light validation on the *keys* of the body params,
        # but doesn't validate the contents of the body. I'm not sure if this
        # will prove to matter in practice or not.
        if 'schema' not in self._link:
            if kwargs:
                raise TypeError("%s() got unexpected keyword arguments: %s" % (self._name, kwargs.keys()))
            return None

        # If we've got patternProperties, then this API takes arbitrary params,
        # so just punt on any sort of validation.
        if 'patternProperties' in self._link['schema']:
            return json.dumps(kwargs)

        given_keys = set(kwargs.keys())
        possible_keys = set(self._link['schema']['properties'].keys())
        required_keys = set(self._link['schema'].get('required', []))

        if required_keys - given_keys:
            raise TypeError("%s() missing required arguments: %s")

        if given_keys - possible_keys:
            raise TypeError("%s() got unepected keyword arguments: %s" % (self._name, list(given_keys - possible_keys)))

        # Is that really all?
        return json.dumps(kwargs)
Updates the active server bitmap
dataset/ETHPy150Open jacobian/valor/valor/link.py/Link.construct_body--crossover with--dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/maya/site-packages/pymel-1.0.5/extras/completion/py/maya/app/general/ServerRegistryMMap.py/ServerRegistryMMap.setBitmap