'Handles a call to this application.
Returns 204 if the request is acceptable to the limiter, else a 403
is returned with a relevant header indicating when the request
*will* succeed.'

@webob.dec.wsgify(RequestClass=wsgi.Request)
def __call__(self, request):

    if (request.method != 'POST'):
        raise webob.exc.HTTPMethodNotAllowed()
    try:
        info = dict(jsonutils.loads(request.body))
    except ValueError:
        raise webob.exc.HTTPBadRequest()
    username = request.path_info_pop()
    verb = info.get('verb')
    path = info.get('path')
    (delay, error) = self._limiter.check_for_delay(verb, path, username)
    if delay:
        headers = {'X-Wait-Seconds': ('%.2f' % delay)}
        return webob.exc.HTTPForbidden(headers=headers, explanation=error)
    else:
        return webob.exc.HTTPNoContent()
