code: def prepare_request(self, method, url, body=''):
          
          headers = {
              'Content-type': 'application/json',
          }
          # Note: we don't pass body to sign() since it's only for bodies that
          # are form-urlencoded. Similarly, we don't care about the body that
          # sign() returns.
          uri, signed_headers, signed_body = self.oauth_client.sign(
              url, http_method=method, headers=headers)
          if body:
              if method == 'GET':
                  body = urllib.urlencode(body)
              else:
                  body = json.dumps(body)
          headers.update(signed_headers)
          return {"headers": headers, "data": body}
docs: Prepare the request body and headers
  
          :returns: headers of the signed request