Module Expr Str Import alias Import alias Import alias Import alias Import alias ImportFrom alias ImportFrom alias ImportFrom alias identifier Import alias Import alias ImportFrom alias identifier ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias identifier Assign NameStore AttributeLoad NameLoad attr Assign NameStore Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad Assign NameStore DictComp NameLoad SubscriptLoad NameLoad Index Str comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Raise Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Raise Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Raise Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Raise Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr decorator_list decorator_list FunctionDef arguments args defaults body Return Call AttributeLoad NameLoad attr Call NameLoad decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore DictComp NameLoad NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad Call AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Call NameLoad NameLoad If CompareLtE NameLoad Num body Raise Call NameLoad Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpDiv Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign NameStore BinOpMod Call NameLoad Str Dict Str Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If BoolOpOr CompareNotEq AttributeLoad NameLoad attr NameLoad UnaryOpNot Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad body Return Assign NameStore Call AttributeLoad NameLoad attr If CompareIs AttributeLoad NameLoad attr NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign NameStore BinOpSub NameLoad AttributeLoad NameLoad attr AugAssignSub AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num AugAssignAdd AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad If CompareGt NameLoad Num body AugAssignSub AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpAdd NameLoad NameLoad Return NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr BinOpMult BinOpDiv BinOpSub NameLoad NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Dict Str Str Str Str Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call NameLoad BoolOpOr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr decorator_list decorator_list Assign NameStore ListLoad Call NameLoad Str Str Str Num SubscriptLoad AttributeLoad NameLoad attr Index Str Call NameLoad Str Str Str Num SubscriptLoad AttributeLoad NameLoad attr Index Str Call NameLoad Str Str Str Num SubscriptLoad AttributeLoad NameLoad attr Index Str Call NameLoad Str Str Str Num SubscriptLoad AttributeLoad NameLoad attr Index Str Call NameLoad Str Str Str Num SubscriptLoad AttributeLoad NameLoad attr Index Str Call NameLoad Str Str Str Num SubscriptLoad AttributeLoad NameLoad attr Index Str ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad kwarg body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad If CompareIs NameLoad NameLoad body Assign NameStore NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad BoolOpOr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str If NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad If NameLoad body Assign NameStore Call NameLoad Str Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index Str Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return AttributeLoad NameLoad attr decorator_list Call AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad NameLoad attr decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults kwarg body Expr Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Lambda arguments args defaults Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr NameLoad body Assign NameStore SubscriptLoad NameLoad Slice Call NameLoad NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Return ListComp Call AttributeLoad NameLoad attr comprehension NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore ListLoad For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad AttributeLoad NameLoad attr If NameLoad body Expr Call AttributeLoad NameLoad attr Return SubscriptLoad NameLoad Index Num Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Return ListLoad Assign NameStore ListLoad For NameStore Call AttributeLoad NameLoad attr Str body Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot Call AttributeLoad NameLoad attr Str UnaryOpNot Call AttributeLoad NameLoad attr Str body Raise Call NameLoad Str Assign NameStore SubscriptLoad NameLoad Slice Num Num Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad NameLoad attr Str If CompareNotEq Call NameLoad NameLoad Num body Raise Call NameLoad Str Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr If CompareNotIn NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign AttributeStore NameLoad attr Call NameLoad BoolOpOr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareNotEq AttributeLoad NameLoad attr Str body Raise Call AttributeLoad AttributeLoad NameLoad attr attr TryExcept body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad If NameLoad body Assign NameStore Dict Str BinOpMod Str NameLoad Return Call AttributeLoad AttributeLoad NameLoad attr attr keyword NameLoad keyword NameLoad orelse Return Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list Call AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad NameLoad attr decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Dict Str Str NameLoad NameLoad Assign NameStore Dict Str Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If NameLoad body Expr Call AttributeLoad NameLoad attr Str BinOpMod Str NameLoad NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr Str Str NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr If CompareGtELt Num AttributeLoad NameLoad attr Num body Return TupleLoad NameLoad NameLoad Return TupleLoad Call AttributeLoad NameLoad attr Str BoolOpOr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return ListLoad decorator_list NameLoad decorator_list
N/A N/A 
Module dedicated functions/classes dealing with rate limiting requests.

This module handles rate liming at a per-user level, so it should not be used
to prevent intentional Denial of Service attacks, as we can assume a DOS can
easily come through multiple user accounts. DOS protection should be done at a
different layer.  Instead this module should be used to protect against
unintentional user actions. With that in mind the limits set here should be
high enough as to not rate-limit any intentional actions.

To find good rate-limit values, check how long requests are taking (see logs)
in your environment to assess your capabilities and multiply out to get
figures.

NOTE: As the rate-limiting here is done in memory, this only works per
process (each process will have its own rate limiting counter).
 N/A collections N/A copy N/A math N/A re N/A time oslo_serialization jsonutils oslo_utils importutils six.moves http_client httplib N/A webob.dec N/A webob.exc nova.api.openstack.compute.views limits limits_views nova.api.openstack wsgi nova.i18n _ nova quota nova utils nova wsgi base_wsgi N/A QUOTAS N/A quota QUOTAS N/A LIMITS_PREFIX limits. LimitsController N/A object N/A N/A Controller for accessing limits in the OpenStack API. index N/A N/A self req N/A N/A N/A Return all global and rate limit information. N/A context N/A N/A req environ N/A nova.context N/A project_id N/A N/A N/A req params get tenant_id N/A context project_id N/A quotas N/A N/A QUOTAS get_project_quotas context project_id usages False N/A abs_limits N/A k N/A v N/A limit N/A N/A k v N/A N/A quotas items N/A rate_limits N/A N/A N/A req environ get nova.limits N/A N/A builder N/A N/A self _get_view_builder req N/A N/A N/A builder build rate_limits abs_limits N/A create N/A N/A self req body N/A N/A N/A Create a new limit. N/A N/A N/A N/A webob exc HTTPNotImplemented N/A delete N/A N/A self req id N/A N/A N/A Delete the limit. N/A N/A N/A N/A webob exc HTTPNotImplemented N/A show N/A N/A self req id N/A N/A N/A Show limit information. N/A N/A N/A N/A webob exc HTTPNotImplemented N/A update N/A N/A self req id body N/A N/A N/A Update existing limit. N/A N/A N/A N/A webob exc HTTPNotImplemented N/A _get_view_builder N/A N/A self req N/A N/A N/A N/A N/A limits_views ViewBuilder N/A N/A create_resource N/A N/A N/A N/A N/A N/A N/A wsgi Resource N/A LimitsController N/A Limit N/A object N/A N/A Stores information about a limit for HTTP requests. N/A UNITS N/A v k N/A N/A k v N/A N/A N/A utils TIME_UNITS items __init__ N/A N/A self verb uri regex value unit N/A N/A N/A Initialize a new `Limit`.

        @param verb: HTTP verb (POST, PUT, etc.)
        @param uri: Human-readable URI
        @param regex: Regular expression format for this limit
        @param value: Integer number of requests which can be made
        @param unit: Unit of measure for the value parameter
         N/A N/A self verb verb N/A N/A self uri uri N/A N/A self regex regex N/A N/A self value N/A int value N/A N/A self unit unit N/A N/A self unit_string N/A N/A N/A N/A self display_unit lower N/A N/A self remaining N/A int value N/A N/A value 0 N/A N/A N/A ValueError Limit value must be > 0 N/A N/A self last_request None N/A N/A self next_request None N/A N/A self water_level 0 N/A N/A self capacity N/A self unit N/A N/A self request_value N/A N/A float N/A self capacity N/A float N/A self value N/A msg N/A N/A _ Only %(value)s %(verb)s request(s) can be made to %(uri)s every %(unit_string)s. N/A value verb uri unit_string N/A self value N/A self verb N/A self uri N/A self unit_string N/A N/A self error_message msg N/A __call__ N/A N/A self verb url N/A N/A N/A Represents a call to this limit from a relevant request.

        @param verb: string http verb (POST, GET, etc.)
        @param url: string URL
         N/A N/A N/A N/A self verb verb N/A N/A N/A re match N/A self regex url N/A N/A N/A now N/A N/A self _get_time N/A N/A N/A self last_request None N/A N/A N/A self last_request now N/A leak_value N/A now N/A self last_request N/A N/A self water_level leak_value N/A N/A self water_level N/A max N/A self water_level 0 N/A N/A self water_level N/A self request_value N/A difference N/A N/A self water_level N/A self capacity N/A N/A self last_request now N/A N/A difference 0 N/A N/A N/A self water_level N/A self request_value N/A N/A self next_request N/A now difference N/A difference N/A cap N/A self capacity N/A water N/A self water_level N/A val N/A self value N/A N/A self remaining N/A N/A math floor N/A N/A N/A cap water cap val N/A N/A self next_request now N/A _get_time N/A N/A self N/A N/A N/A Retrieve the current time. Broken out for testability. N/A N/A N/A time time N/A display_unit N/A N/A self N/A N/A N/A Display the string name of the unit. N/A N/A N/A N/A self UNITS get N/A self unit UNKNOWN N/A display N/A N/A self N/A N/A N/A Return a useful representation of this class. N/A N/A verb URI regex value remaining unit resetTime N/A self verb N/A self uri N/A self regex N/A self value N/A int N/A self remaining N/A N/A self display_unit N/A int N/A N/A self next_request N/A N/A self _get_time N/A N/A N/A DEFAULT_LIMITS N/A N/A Limit POST * .* 120 N/A N/A utils TIME_UNITS N/A MINUTE N/A Limit POST */servers ^/servers 120 N/A N/A utils TIME_UNITS N/A MINUTE N/A Limit PUT * .* 120 N/A N/A utils TIME_UNITS N/A MINUTE N/A Limit GET *changes-since* .*changes-since.* 120 N/A N/A utils TIME_UNITS N/A MINUTE N/A Limit DELETE * .* 120 N/A N/A utils TIME_UNITS N/A MINUTE N/A Limit GET */os-fping ^/os-fping 12 N/A N/A utils TIME_UNITS N/A MINUTE RateLimitingMiddleware N/A N/A base_wsgi Middleware N/A N/A Rate-limits requests passing through this middleware. All limit
    information is stored in memory for this implementation.
     __init__ N/A N/A self application limits limiter N/A None None kwargs N/A N/A Initialize new `RateLimitingMiddleware`.

        It wraps the given WSGI application and sets up the given limits.

        @param application: WSGI application to wrap
        @param limits: String describing limits
        @param limiter: String identifying class for representing limits

        Other parameters are passed to the constructor for the limiter.
         N/A N/A N/A N/A base_wsgi Middleware __init__ self application N/A N/A limiter None N/A N/A limiter Limiter N/A N/A limiter N/A N/A importutils import_class limiter N/A N/A limits None N/A N/A limits N/A N/A limiter parse_limits limits N/A N/A self _limiter N/A limiter N/A limits DEFAULT_LIMITS kwargs N/A __call__ N/A N/A self req N/A N/A N/A Represents a single call through this middleware.

        We should record the request if we have a limit relevant to it.
        If no limit is relevant to the request, ignore it.

        If the request should be rate limited, return a fault telling the user
        they are over the limit and need to retry later.
         N/A verb N/A req method N/A url N/A req url N/A context N/A N/A N/A req environ get nova.context N/A context N/A N/A username N/A context user_id N/A N/A username None N/A N/A delay error N/A N/A N/A self _limiter check_for_delay verb url username N/A delay N/A N/A msg N/A _ This request was rate-limited. N/A retry N/A N/A N/A time time delay N/A N/A N/A wsgi RateLimitFault msg error retry N/A N/A N/A req environ N/A nova.limits N/A N/A N/A self _limiter get_limits username N/A N/A self application N/A N/A N/A N/A webob dec wsgify RequestClass N/A wsgi Request N/A Limiter N/A object N/A N/A Rate-limit checking class which handles limits in memory. __init__ N/A N/A self limits N/A kwargs N/A N/A Initialize the new `Limiter`.

        @param limits: List of `Limit` objects
         N/A N/A self limits N/A N/A copy deepcopy limits N/A N/A self levels N/A N/A collections defaultdict N/A N/A N/A N/A N/A N/A copy deepcopy limits N/A N/A key value N/A N/A kwargs items N/A N/A N/A N/A key startswith LIMITS_PREFIX N/A N/A username N/A key N/A N/A len LIMITS_PREFIX N/A N/A N/A self levels N/A username N/A N/A self parse_limits value N/A get_limits N/A N/A self username N/A None N/A N/A Return the limits for a given user. N/A N/A N/A N/A limit display N/A limit N/A N/A self levels N/A username N/A check_for_delay N/A N/A self verb url username N/A None N/A N/A Check the given verb/user/user triplet for limit.

        @return: Tuple of delay (in seconds) and error message (or None, None)
         N/A delays N/A N/A limit N/A N/A self levels N/A username N/A N/A delay N/A limit verb url N/A delay N/A N/A N/A N/A delays append N/A delay N/A limit error_message N/A delays N/A N/A N/A N/A delays sort N/A N/A delays N/A 0 N/A N/A None None N/A parse_limits N/A N/A limits N/A N/A N/A Convert a string into a list of Limit instances.  This
        implementation expects a semicolon-separated sequence of
        parenthesized groups, where each group contains a
        comma-separated sequence consisting of HTTP method,
        user-readable URI, a URI reg-exp, an integer number of
        requests which can be made, and a unit of measure.  Valid
        values for the latter are "SECOND", "MINUTE", "HOUR", and
        "DAY".

        @return: List of Limit instances.
         N/A limits N/A N/A limits strip N/A N/A limits N/A N/A N/A N/A result N/A N/A group N/A N/A limits split ; N/A N/A group N/A N/A group strip N/A N/A N/A N/A N/A group startswith ( N/A N/A N/A group endswith ) N/A N/A N/A ValueError Limit rules must be surrounded by parentheses N/A group N/A group N/A 1 -1 N/A args N/A N/A N/A a strip N/A a N/A N/A group split , N/A N/A N/A len args 5 N/A N/A N/A ValueError Limit rules must contain the following arguments: verb, uri, regex, value, unit N/A N/A verb uri regex value unit args N/A verb N/A N/A verb upper N/A value N/A int value N/A unit N/A N/A unit upper N/A N/A unit N/A utils TIME_UNITS N/A N/A N/A ValueError Invalid units specified N/A unit N/A N/A utils TIME_UNITS N/A unit N/A N/A N/A result append N/A Limit verb uri regex value unit N/A result N/A staticmethod N/A WsgiLimiter N/A object N/A N/A Rate-limit checking from a WSGI application. Uses an in-memory
    `Limiter`.

    To use, POST ``/<username>`` with JSON data such as::

        {
            "verb" : GET,
            "path" : "/servers"
        }

    and receive a 204 No Content, or a 403 Forbidden with an X-Wait-Seconds
    header containing the number of seconds to wait before the action would
    succeed.
     __init__ N/A N/A self limits N/A None N/A N/A Initialize the new `WsgiLimiter`.

        @param limits: List of `Limit` objects
         N/A N/A self _limiter N/A Limiter N/A limits DEFAULT_LIMITS N/A __call__ N/A N/A self request N/A N/A N/A 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.
         N/A N/A N/A request method POST N/A N/A N/A N/A N/A webob exc HTTPMethodNotAllowed N/A N/A N/A info N/A dict N/A N/A jsonutils loads N/A request body N/A N/A N/A ValueError N/A N/A N/A N/A N/A webob exc HTTPBadRequest N/A username N/A N/A request path_info_pop N/A verb N/A N/A info get verb N/A path N/A N/A info get path N/A N/A delay error N/A N/A N/A self _limiter check_for_delay verb path username N/A delay N/A N/A headers N/A X-Wait-Seconds N/A %.2f delay N/A N/A N/A N/A webob exc HTTPForbidden headers headers explanation error N/A N/A N/A N/A N/A webob exc HTTPNoContent N/A N/A N/A N/A webob dec wsgify RequestClass N/A wsgi Request N/A WsgiLimiterProxy N/A object N/A N/A Rate-limit requests based on answers from a remote source. __init__ N/A N/A self limiter_address N/A N/A N/A Initialize the new `WsgiLimiterProxy`.

        @param limiter_address: IP/port combination of where to request limit
         N/A N/A self limiter_address limiter_address N/A check_for_delay N/A N/A self verb path username N/A None N/A N/A body N/A N/A jsonutils dumps N/A verb path verb path N/A headers N/A Content-Type application/json N/A conn N/A N/A httplib HTTPConnection N/A self limiter_address N/A username N/A N/A N/A N/A conn request POST N/A /%s username body headers N/A N/A N/A N/A conn request POST / body headers N/A resp N/A N/A conn getresponse N/A N/A 200 N/A resp status 300 N/A N/A N/A None None N/A N/A N/A N/A resp getheader X-Wait-Seconds N/A N/A N/A resp read None N/A parse_limits N/A N/A limits N/A N/A N/A Ignore a limits string--simply doesn't apply for the limit
        proxy.

        @return: Empty list.
         N/A N/A N/A staticmethod N/A