def http_post(self, path, query_data={}, post_data={}, files=None,<EOL>**kwargs):
result = self.http_request('<STR_LIT>', path, query_data=query_data,<EOL>post_data=post_data, files=files, **kwargs)<EOL>try:<EOL><INDENT>if result.headers.get('<STR_LIT:Content-Type>', None) == '<STR_LIT:application/json>':<EOL><INDENT>return result.json()<EOL><DEDENT><DEDENT>except Exception:<EOL><INDENT>raise GitlabParsingError(<EOL>error_message="<STR_LIT>")<EOL><DEDENT>return result<EOL>
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