Just the core of the pycurl logic.

def pullPath_core(self, **kwargs):
        """
        Just the core of the pycurl logic.
        """

        d_msg       = self.d_msg
        for k,v in kwargs.items():
            if k == 'd_msg':    d_msg   = v

        str_response = self.pull_core(msg = d_msg)

        if len(str_response) < 800:
            # It's possible an error occurred for the response to be so short.
            # Try and json load, and examine for 'status' field.
            b_response      = False
            b_status        = False
            try:
                if self.b_httpResponseBodyParse:
                    d_response  = json.loads(self.httpResponse_bodyParse(response = str_response))
                else:
                    d_response  = str_response
                b_response  = True
                b_status    = d_response['status']
                str_error   = d_response
            except:
                str_error   = str_response
            if not b_status or 'Network Error' in str_response:
                self.dp.qprint('Some error occurred at remote location:',
                            level = 1, comms ='error')
                return {'status':       False,
                        'msg':          'PULL unsuccessful',
                        'response':     str_error,
                        'timestamp':    '%s' % datetime.datetime.now(),
                        'size':         "{:,}".format(len(str_response))}
            else:
                return {'status':       d_response['status'],
                        'msg':          'PULL successful',
                        'response':     d_response,
                        'timestamp':    '%s' % datetime.datetime.now(),
                        'size':         "{:,}".format(len(str_response))}

        self.dp.qprint("Received " + Colors.YELLOW + "{:,}".format(len(str_response)) +
                    Colors.PURPLE + " bytes..." ,
                    level = 1, comms ='status')

        return {'status':       True,
                'msg':          'PULL successful',
                'response':     str_response,
                'timestamp':    '%s' % datetime.datetime.now(),
                'size':         "{:,}".format(len(str_response))}