Esempio n. 1
0
    def _bulkHttp(self,
                  bulkmethod,
                  submitdata=None,
                  pheaders=None,
                  httpmethods='POST'):
        """
        Methods to run http callout to salesforce.

        @type: string
        @param bulkmethod: what kind of bulk request (e.g self.JOB, self.BATCH)
        @type: string
        @param submitdata: data to be submitted
        @type: dict
        @param pheaders: HTTP header information
        @type: string
        @param: httpmethods: GET / POST methods to be used in bulk request
        """
        #print bulkmethod
        #print submitdata
        headers = self.__standardHeaders
        if headers is not None:
            if type(pheaders) == dict:
                for keyh, valueh in pheaders.iteritems():
                    headers[keyh] = valueh

        if self.callClient is None:
            if self.sessionid is not None:
                self.callClient = Callout(logger=self.logger)
            else:
                self.__raise('Unauthorized Error')

        url = self.__constructBulkUrl(bulkmethod)
        getLogger(STDERR).debug("%s url: %s ", httpmethods, url)
        getLogger(STDERR).debug("headers: %s", headers)
        getLogger(STDERR).debug("data: %s", submitdata)

        resp = self.callClient.docall(url, httpmethods, submitdata, headers)

        return resp