Die VARIO API Beta triggert bei mir beim Versuch alle Artikel aus dem Shop in die Wawi einzulesen die Fehlermeldung {"errors":["Request limit reached."]} Scheint mir, etwas umformatiert, direkt von Zeile 96 aus der Datei GambioApi/Application/Middleware/RateLimitMiddleware.php zu stammen. 70 /** 71 * @param ServerRequestInterface $request 72 * @param RequestHandlerInterface $handler 73 * 74 * @return ResponseInterface 75 */ 76 public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface 77 { 78 $authorization = $request->getHeader('Authorization')[0] ?? ''; 79 $sessionIdentifier = md5($authorization); 80 if (empty($authorization) || empty($sessionIdentifier)) { 81 throw new RuntimeException('No authorization header provided.'); 82 } 83 84 if ($this->checkRateLimit($sessionIdentifier)) { 85 $response = $handler->handle($request); 86 87 return $response->withHeader('X-Rate-Limit-Limit', (string)$this->rateLimit['limit']) 88 ->withHeader('X-Rate-Limit-Remaining', (string)$this->rateLimit['remaining']) 89 ->withHeader('X-Rate-Limit-Reset', (string)$this->rateLimit['reset']); 90 } 91 92 return $this->responseFactory->createResponse(429) 93 ->withHeader('X-Rate-Limit-Limit', (string)$this->rateLimit['limit']) 94 ->withHeader('X-Rate-Limit-Remaining', (string)$this->rateLimit['remaining']) 95 ->withHeader('X-Rate-Limit-Reset', (string)$this->rateLimit['reset']) 96 ->withJson(['errors' => ['Request limit reached.']]); 97 } 98 Kann ich, bis VARIO das rate-limiting richtig implementiert hat, das im Shop erhöhen? Wäre das Zeile 34? 34 private const DEFAULT_RATE_LIMIT = 5000; Was wäre noch zu beachten, wenn ich das Limit Serverseitig hochsetze? PS: Das ist kein Live-Sondern nur ein Testshop. Also sind da keine anderen User (Kunden) drauf, die von Störungen betroffen sein könnten.
Hi @Til So auf den ersten Blick sieht das nach einem Limit pro Session aus: GXMainComponents/Controllers/Api/AbstractApiV2Controller.inc.php Code: const DEFAULT_RATE_LIMIT = 5000; Vermutlich aber eher das hier: GambioApi/Application/Middleware/RateLimitMiddleware.php Code: private const DEFAULT_RATE_LIMIT = 5000; Keine Ahnung, ob das update-sicher zu erhöhen ist. Alternativ könntest Du alle X Requests eine neue Session starten.