{"record":{"id":"b2d9b95bcc53a051","repo":"ruvnet/RuView","slug":"rate-limit-exceeded","errorCode":null,"errorMessage":"Rate limit exceeded","messagePattern":"Rate limit exceeded","errorType":"http","errorClass":"HTTPException","httpStatus":429,"severity":"error","filePath":"archive/v1/src/middleware/rate_limit.py","lineNumber":335,"sourceCode":"        # Skip rate limiting for certain paths\n        if self._should_skip_rate_limit(request):\n            return await call_next(request)\n        \n        try:\n            # Check rate limit\n            allowed, rate_limit_info = await self.rate_limiter.check_rate_limit(request)\n            \n            if not allowed:\n                # Rate limit exceeded\n                logger.warning(\n                    f\"Rate limit exceeded for {self.rate_limiter._get_client_identifier(request)} \"\n                    f\"on {request.method} {request.url.path}\"\n                )\n                \n                headers = self.rate_limiter.get_rate_limit_headers(rate_limit_info)\n                headers[\"Retry-After\"] = str(int(rate_limit_info.reset_time - time.time()))\n                \n                raise HTTPException(\n                    status_code=status.HTTP_429_TOO_MANY_REQUESTS,\n                    detail=\"Rate limit exceeded\",\n                    headers=headers\n                )\n            \n            # Process request\n            response = await call_next(request)\n            \n            # Add rate limit headers to response\n            headers = self.rate_limiter.get_rate_limit_headers(rate_limit_info)\n            for key, value in headers.items():\n                response.headers[key] = value\n            \n            return response\n            \n        except HTTPException:\n            raise\n        except Exception as e:","sourceCodeStart":317,"sourceCodeEnd":353,"githubUrl":"https://github.com/ruvnet/RuView/blob/4685618388a5e49fad5b3005806f3bdd6a7c25c3/archive/v1/src/middleware/rate_limit.py#L317-L353","documentation":"Error \"Rate limit exceeded\" thrown in ruvnet/RuView.","triggerScenarios":"Thrown at archive/v1/src/middleware/rate_limit.py:335 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4685618388a5e49fad5b3005806f3bdd6a7c25c3","analyzedAt":"2026-08-16T06:09:40.886Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}