def main(request, response): # |token| should be a unique UUID request parameter for the duration of this # request. It will get stored in the server stash and will be used later in # a query request. # |query| should be a request parameter indicating the request would like # to know how many times the server has seen the request (with the # same token). token = request.GET.first(b"token", None) is_query = request.GET.first(b"query", None) is not None with request.server.stash.lock: value = request.server.stash.take(token) count = 0 if value is not None: count = int(value) if is_query: request.server.stash.put(token, count) else: count += 1 request.server.stash.put(token, count) headers = [] if is_query: headers = [(b"Count", count)] return (200, headers, b"")