Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d9132fe6ee | |||
| e42849bed4 |
@@ -3,8 +3,11 @@
|
|||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
use Carbon\CarbonImmutable;
|
use Carbon\CarbonImmutable;
|
||||||
|
use Illuminate\Cache\RateLimiting\Limit;
|
||||||
use Illuminate\Support\Facades\Date;
|
use Illuminate\Support\Facades\Date;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\RateLimiter;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
class AppServiceProvider extends ServiceProvider
|
class AppServiceProvider extends ServiceProvider
|
||||||
@@ -23,6 +26,13 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
public function boot(): void
|
public function boot(): void
|
||||||
{
|
{
|
||||||
$this->configureDefaults();
|
$this->configureDefaults();
|
||||||
|
|
||||||
|
RateLimiter::for('training', function (Request $request) {
|
||||||
|
return [
|
||||||
|
Limit::perMinute(50),
|
||||||
|
Limit::perMinute(15)->by($request->ip()),
|
||||||
|
];
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
0, 0, 0
|
0, 0, -1
|
||||||
0, 1, 0
|
0, 1, -1
|
||||||
1, 0, 0
|
1, 0, -1
|
||||||
1, 1, 1
|
1, 1, 1
|
||||||
|
|||||||
|
@@ -1,4 +0,0 @@
|
|||||||
0, 0, -1
|
|
||||||
0, 1, -1
|
|
||||||
1, 0, -1
|
|
||||||
1, 1, 1
|
|
||||||
|
@@ -109,6 +109,12 @@ function startTraining() {
|
|||||||
})
|
})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
|
if (response.status === 429) {
|
||||||
|
alert('Trop de requêtes pour mon petit serveur. Veuillez réessayer dans une minute.');
|
||||||
|
} else {
|
||||||
|
alert('Erreur lors du lancement de l\'entraînement. Veuillez réessayer.');
|
||||||
|
}
|
||||||
|
|
||||||
throw new Error('Network response was not ok');
|
throw new Error('Network response was not ok');
|
||||||
}
|
}
|
||||||
return response.json();
|
return response.json();
|
||||||
|
|||||||
@@ -3,4 +3,6 @@
|
|||||||
use App\Http\Controllers\PerceptronController;
|
use App\Http\Controllers\PerceptronController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
Route::middleware('throttle:training')->group(function () {
|
||||||
Route::post('perceptron/run', [PerceptronController::class, 'run'])->name('perceptron.run');
|
Route::post('perceptron/run', [PerceptronController::class, 'run'])->name('perceptron.run');
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user