0
votes

Comment traduire des gaz à Laravel?

J'utilise la version 5.7 de Laravel 5.7. J'utilise papillon dans kernel.php pour éviter que l'utilisateur envoie des requêtes plus de 60. J'aimerais traduire son message "Trop de tentatives". et utiliser votre propre message. Comment puis-je le faire à Laravel? Où puis-je trouver ça?


0 commentaires

4 Réponses :


-1
votes

J'ai trouvé votre dossier dans cette adresse de Laravel: Vendeur \ Laravel \ Framework \ SRC \ Llluminate \ Routage \ Middleware \ THROTTLEREQUESTS.PHP CODE>

protected function buildException($key, $maxAttempts)
    {
        $retryAfter = $this->getTimeUntilNextRetry($key);

        $headers = $this->getHeaders(
            $maxAttempts,
            $this->calculateRemainingAttempts($key, $maxAttempts, $retryAfter),
            $retryAfter
        );

        return new ThrottleRequestsException(
            'You can change message here and put your message!', null, $headers
        );
    }


1 commentaires

Je conseillerais contre la modification des fichiers de base de base / forfaits, ils seront probablement partis après une mise à jour



1
votes

Dans votre gestionnaire d'exception Laravel, vous pouvez gérer cette exception avant de rendre et de remplacer cette exception avec votre exception personnalisée.

dans App / Exceptions / Handler.php Strong> P>

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $exception
 * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
 */
public function render($request, Exception $exception)
{
    if($exception instanceof ThrottleRequestsException) {
        return parent::render(
            $request, new ThrottleRequestsException(
                'Your message',
                $exception->getPrevious(),
                $exception->getHeaders(),
                $exception->getCode()
            )
        );
    }

    return parent::render($request, $exception);
}


0 commentaires

1
votes

Vous pouvez créer votre middleware personnalisé dans le dossier APP / HTTP / MIDENDWARES \ Illuminate \ routage \ middleware \ hivereQuests classe et remplacer le BuildException Méthode ( Original Mise en œuvre ici ).

Attribuer ensuite Middleware Middleware à votre classe Middleware personnalisée dans Kernel.php


0 commentaires

2
votes

use Symfony\Component\HttpKernel\Exception\HttpException;

if($exception instanceof HttpException && $exception->getStatusCode() == 429) {
return response()->json([
'message' => 'Too Many Attempts',
'code' => 429
], 429)->withHeaders($exception->getHeaders());
}



0 commentaires