def METHOD_NAME(method, **kwargs):
    """
    launch a request
    :param method: POST, GET, PUT, DELETE methods (MANDATORY)
    :param url:  endpoint (with port and path)
    :param headers: headers in request
    :param data: payload if is required
    :param Param: queries parameter if are required
    :param allow_redirects: if redirect id allowed
    :param verify: if the SSL is verified
    :return: response (code, headers and body)
    Note: two lines are comments because is only to debug, the first show the request and the second, show the response in each request
    """
    url = kwargs.get('url', '')
    headers = kwargs.get('headers', None)
    body = kwargs.get('data', '')
    parameters = kwargs.get('param', '')
    redirect = kwargs.get('allow_redirects', True)
    verifyssl = kwargs.get('verify', False)
    try:
        #print_request(method, Url, Headers, Body)
        resp = requests.METHOD_NAME(method.lower(), url=url, headers=headers, data=body, params=parameters,
                                allow_redirects=redirect,
                                verify=verifyssl)
        #print_response(resp)
        return resp
    except Exception, e:
        raise NameError(" ERROR IN REQUEST: {error}"
                        "\nUrl\t: {url}"
                        "\nHeaders: {headers}"
                        "\nPayload: {body}".format(error=e, url=url, headers=headers, body=body))