def METHOD_NAME(base):
    if base not in BASES:
        collector.error = "Server '{0}' isn't recognized".format(base)
        return collector
    url = "{0}/{1}".format(BASES[base], api_string)
    collector.domain = base
    signal.signal(signal.SIGALRM, handler)
    signal.alarm(timeout_seconds)
    start = time.time()
    # print "trying request at {0}".format(url)
    try:
        test_request = requests.get(url)
    except requests.ConnectionError:
        end = time.time()
        signal.alarm(0)
        collector.status = "ABORTED"
        collector.error = "Server connection error"
        collector.api_fail = "FAIL"
    except TimeoutError:
        end = time.time()
        signal.alarm(0)
        collector.status = "TIMEDOUT"
        collector.error = "SSA request exceeded {0} sec".format(
            timeout_seconds
        )
    else:
        if test_request.status_code != 200:
            signal.alarm(0)
            end = time.time()
            collector.status = "{0}".format(test_request.status_code)
            collector.error = test_request.reason.replace(",", ";")
            collector.api_fail = "FAIL"
        else:
            end = time.time()
            signal.alarm(0)
            data = json.loads(test_request.text)
            collector.status = "%s" % test_request.status_code
            collector.error = (
                "{0}".format(data["error"])
                .replace(",", ";")
                .replace("'", "")
                .replace('"', "")
            )
            collector.note = data["note"]
            collector.data = check_data(data)
            if collector.data == "BAD DATA":
                collector.api_fail = "FAIL"
    collector.timer = "%s" % round(end - start, 1)
    build_msg(collector)
    # print msg
    # with open('%s/tests/logs/api_check.log' % API_ROOT, 'a') as f:
    #     f.write("%s\n" % msg)
    return collector