<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def put(self, path, data, **options):
 """Parses PUT request options and dispatches a request."""

        parameter_options = self._parse_parameter_options(options)
        body = {
            # values in the data body takes precendence
            'data': _merge(parameter_options, data),
            'options': self._parse_api_options(options)
        }
        headers = _merge(
            {'content-type': 'application/json'},
            options.pop('headers', {})
        )
        return self.request('put', path, data=body, headers=headers, **options)