code: def _post(self, data, file_to_upload=None):
          
          # pylint: disable=E1101
          params = {"JSONRPC": simplejson.dumps(data)}
          req = None
          if file_to_upload:
              req = http_core.HttpRequest(self.write_url)
              req.method = 'POST'
              req.add_body_part("JSONRPC", simplejson.dumps(data), 'text/plain')
              upload = file(file_to_upload, "rb")
              req.add_body_part("filePath", upload, 'application/octet-stream')
              req.end_of_parts()
              content_type = "multipart/form-data; boundary=%s" % \
                  http_core.MIME_BOUNDARY
              req.headers['Content-Type'] = content_type
              req.headers['User-Agent'] = config.USER_AGENT
  
              req = http_core.ProxiedHttpClient().request(req)
          else:
              msg = urllib.urlencode({'json': params['JSONRPC']})
              req = urllib2.urlopen(self.write_url, msg)
  
          if req:
              result = simplejson.loads(req.read())
              if 'error' in result and result['error']:
                  exceptions.BrightcoveError.raise_exception(
                      result['error'])
              return result['result']
docs: Make the POST request.