Place  object into the container.

        :param uri:
        :param headers:
        :param local_object:

def _putter(self, uri, headers, local_object=None):
        """Place  object into the container.

        :param uri:
        :param headers:
        :param local_object:
        """

        if not local_object:
            return self.http.put(url=uri, headers=headers)

        with open(local_object, 'rb') as f_open:
            large_object_size = self.job_args.get('large_object_size')
            if not large_object_size:
                large_object_size = 5153960756

            if os.path.getsize(local_object) > large_object_size:
                # Remove the manifest entry while working with chunks
                manifest = headers.pop('X-Object-Manifest')
                # Feed the open file through the chunk process
                self._chunk_putter(
                    uri=uri,
                    open_file=f_open,
                    headers=headers
                )
                # Upload the 0 byte object with the manifest path
                headers.update({'X-Object-Manifest': manifest})
                return self.http.put(url=uri, headers=headers)
            else:
                if self.job_args.get('sync'):
                    sync = self._sync_check(
                        uri=uri,
                        headers=headers,
                        local_object=local_object
                    )
                    if not sync:
                        return None

                return self.http.put(
                    url=uri, body=f_open, headers=headers
                )