'WSGI entry point.
Wraps env in swob.Request object and passes it down.
:param env: WSGI environment dictionary
:param start_response: WSGI callable'

def __call__(self, env, start_response):

    req = Request(env)
    if (self.memcache_client is None):
        self.memcache_client = cache_from_env(env)
    if (not self.memcache_client):
        self.logger.warning(_('Warning:    Cannot    ratelimit    without    a    memcached    client'))
        return self.app(env, start_response)
    try:
        (version, account, container, obj) = req.split_path(1, 4, True)
    except ValueError:
        return self.app(env, start_response)
    ratelimit_resp = self.handle_ratelimit(req, account, container, obj)
    if (ratelimit_resp is None):
        return self.app(env, start_response)
    else:
        return ratelimit_resp(env, start_response)
