<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _do_post(self, url, **kwargs):
 """ Convenient method for POST requests Returns http request status value from a POST request """

        #TODO:
        # Add error handling. Check for HTTP status here would be much more conveinent than in each calling method
        scaleioapi_post_headers = {'Content-type':'application/json','Version':'1.0'}
        try:
            response = self._session.post(url, headers=scaleioapi_post_headers, **kwargs)
            self.conn.logger.debug('_do_post() - HTTP response: %s', response.text)
            if response.status_code == requests.codes.ok:
                self.conn.logger.debug('_do_post() - HTTP response OK, data: %s', response.text)                
                return response
            else:
                self.conn.logger.error('_do_post() - HTTP response error: %s', response.status_code)
                self.conn.logger.error('_do_post() - HTTP response error, data: %s', response.text)                
                raise RuntimeError("_do_post() - HTTP response error" + response.status_code)
        except Exception as e:
            self.conn.logger.error("_do_post() - Unhandled Error Occurred: %s" % str(e)) 
            raise RuntimeError("_do_post() - Communication error with ScaleIO gateway")
        return response