Merge branch 'dillon/71-exchange-benchmarking' into 'master'

Middleware to log all request path (preparation for migration to Laravel Vapor)

See merge request CIEFWorldwideSdnBhd/exchange-2.0!178
This commit is contained in:
Dillon Ngo
2024-10-10 15:17:01 +00:00
7 changed files with 220 additions and 8 deletions
+3
View File
@@ -45,15 +45,18 @@ class Kernel extends HttpKernel
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\LogRequestPathMiddleware::class,
],
'api' => [
'throttle:300,1',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\LogRequestPathMiddleware::class,
],
'apipub' => [
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\LogRequestPathMiddleware::class,
],
];
@@ -0,0 +1,32 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class LogRequestPathMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$method = $request->method();
Log::channel('request_path')->info('Request Method: ' . $method);
$fullUrl = $request->fullUrl();
Log::channel('request_path')->info('Request URL: ' . $fullUrl);
if ($request->isMethod('post')) {
$payload = $request->all();
Log::channel('request_path')->info('Request Payload POST: ', $payload);
}
return $next($request);
}
}
+5
View File
@@ -121,6 +121,11 @@ return [
'level' => 'info',
],
'request_path' => [
'driver' => 'single',
'path' => storage_path('logs/laravel_request_path.log'),
'level' => 'info',
],
],
];
+7 -6
View File
@@ -2,12 +2,12 @@
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"dependencies": {
"animate.css": "^4.1.1",
@@ -28,10 +28,9 @@
"sass-loader": "10.1.0",
"select2": "^4.0.6-rc.1",
"v-money": "^0.8.1",
"vue": "^2.6.10",
"vue": "^2.6.14",
"vue-avatar": "^2.1.8",
"vue-debounce": "^2.6.0",
"vue-template-compiler": "^2.6.10",
"vue-the-mask": "^0.11.1",
"vuelidate": "^0.7.4",
"vuex": "^3.1.1"
@@ -59,9 +58,11 @@
"gulp-streamify": "^1.0.2",
"gulp-uglify": "^3.0.0",
"gulp-uglify-es": "^2.0.0",
"laravel-mix": "^5.0.9",
"laravel-mix": "^6.0.49",
"lodash": "^4.17.13",
"resolve-url-loader": "^3.1.2"
"resolve-url-loader": "^3.1.2",
"vue-loader": "^15.11.1 ",
"vue-template-compiler": "^2.6.14"
},
"paths": {
"build": {
File diff suppressed because one or more lines are too long
@@ -122,7 +122,7 @@
<supplier-pending-order-component :data="data" v-on:input="updateOrder($event)"></supplier-pending-order-component>
</template>
</list-component>
<!-- <list-polling-component ref="pendingOrdersList" section="pendingOrdersSection" :endpoint="route('api.transaction.list.job')" :options="{per_page: 5, status: 2, owner_type: 'App\\Models\\Booking', type: 1, original_currency_id_in: [selectedCurrency.id], transaction_service_id: selectedService.id}">
<!-- <list-polling-component ref="pendingOrdersList" section="pendingOrdersSection" :endpoint="route('api.transaction.list.job')" :options="{per_page: 5, status: 2, owner_type: 'App\\Models\\Booking', is_not_fully_refunded: true, type: 1, original_currency_id_in: [selectedCurrency.id], transaction_service_id: selectedService.id}">
<template slot="list" slot-scope="{data}">
<supplier-pending-order-component :data="data" v-on:input="updateOrder($event)"></supplier-pending-order-component>
</template>
+10 -1
View File
@@ -11,4 +11,13 @@ const mix = require('laravel-mix');
|
*/
mix.js('./resources/assets/vue/app.js', 'public/vue').version();
mix.webpackConfig({
watchOptions: {
poll: true,
aggregateTimeout: 2000,
},
});
mix.js('./resources/assets/vue/app.js', 'public/vue')
.vue()
.version()