code: def write(self, data, params=None, expected_response_code=204,
                protocol='json'):
          
          headers = self._headers
          headers['Content-Type'] = 'application/octet-stream'
  
          if params:
              precision = params.get('precision')
          else:
              precision = None
  
          if protocol == 'json':
              data = make_lines(data, precision).encode('utf-8')
          elif protocol == 'line':
              if isinstance(data, str):
                  data = [data]
              data = ('\n'.join(data) + '\n').encode('utf-8')
  
          self.request(
              url="write",
              method='POST',
              params=params,
              data=data,
              expected_response_code=expected_response_code,
              headers=headers
          )
          return True
docs: Write data to InfluxDB.
  
          :param data: the data to be written
          :type data: (if protocol is 'json') dict
                      (if protocol is 'line') sequence of line protocol strings
                                              or single string
          :param params: additional parameters for the request, defaults to None
          :type params: dict
          :param expected_response_code: the expected response code of the write
              operation, defaults to 204
          :type expected_response_code: int
          :param protocol: protocol of input data, either 'json' or 'line'
          :type protocol: str
          :returns: True, if the write operation is successful
          :rtype: bool