def METHOD_NAME(router, method, data=None):
    """
    Make a request to the Zenoss API router
    """
    if router not in ROUTERS:
        return False
    req_data = salt.utils.json.dumps(
        [dict(action=router, method=method, data=data, type="rpc", tid=1)]
    )
    config = __salt__["config.option"]("zenoss")
    log.debug("Making request to router %s with method %s", router, method)
    url = "{}/zport/dmd/{}_router".format(config.get("hostname"), ROUTERS[router])
    response = _session().post(url, data=req_data)
    # The API returns a 200 response code even whe auth is bad.
    # With bad auth, the login page is displayed. Here I search for
    # an element on the login form to determine if auth failed.
    if re.search('name="__ac_name"', response.content):
        log.error("Request failed. Bad username/password.")
        raise Exception("Request failed. Bad username/password.")
    return salt.utils.json.loads(response.content).get("result", None)