Example #1
0
def throttle_incoming():
    whitelist = Whitelist(get_redis_client(), Encoder())
    blacklist = Blacklist(get_redis_client(), Encoder())
    contact = request.args.get('sender')
    message = request.args.get('message')

    keyword_filter = KeywordFilter(whitelist, message, contact)
    contact_filter = WhitelistContactFilter(whitelist, contact)
    incoming_contact_filter = IncomingContactFilter(blacklist, contact)

    high_filters = [keyword_filter, contact_filter]
    low_filters = [incoming_contact_filter]

    processor = FilterProcessor(high_filters, low_filters)
    priority = processor.execute()

    process_request(app.config, request.query_string, priority)

    return "Done"
Example #2
0
def outgoing_message_router():
    message = request.args.get('text', None)
    receivers = request.args.get('to', '')

    message_filter = RegistrationMessageFilter(get_steps_cache_instance(), message)
    receiver_count_filter = ReceiverCountFilter(receivers.split(" "), 1)

    blacklist = Blacklist(get_redis_client(), Encoder())
    blacklist_filter = BlacklistFilter(blacklist, message)

    high_filters = [message_filter, receiver_count_filter]
    low_filters = [blacklist_filter]

    processor = FilterProcessor(high_filters, low_filters)
    priority = processor.execute()

    smsc_router = SMSCRouter(app.config, app.logger)
    smsc_router.route(request.args, priority)

    return "Done"