<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def http_post(self, path, query_data={}, post_data={}, files=None, **kwargs):
 """Make a POST request to the Gitlab server. Args: path (str):
 Path or full URL to query ('/projects' or 'http://whatever/v4/api/projecs') query_data (dict):
 Data to send as query parameters post_data (dict):
 Data to send in the body (will be converted to json) files (dict):
 The files to send to the server **kwargs: Extra options to send to the server (e.g. sudo) Returns: The parsed json returned by the server if json is return, else the raw content Raises: GitlabHttpError: When the return code is not 2xx GitlabParsingError: If the json data could not be parsed """

        result = self.http_request('post', path, query_data=query_data,
                                   post_data=post_data, files=files, **kwargs)
        try:
            if result.headers.get('Content-Type', None) == 'application/json':
                return result.json()
        except Exception:
            raise GitlabParsingError(
                error_message="Failed to parse the server message")
        return result