Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Middleware/DevelConfig.php
<?php | <?php | ||||
namespace App\Http\Middleware; | namespace App\Http\Middleware; | ||||
use Closure; | use Closure; | ||||
use Illuminate\Support\Facades\Cache; | |||||
class DevelConfig | class DevelConfig | ||||
{ | { | ||||
/** | /** | ||||
* Handle an incoming request. | * Handle an incoming request. | ||||
* | * | ||||
* @param \Illuminate\Http\Request $request | * @param \Illuminate\Http\Request $request | ||||
* @param \Closure $next | * @param \Closure $next | ||||
Show All 12 Lines | public function handle($request, Closure $next) | ||||
$provider = $request->paymentProvider; | $provider = $request->paymentProvider; | ||||
} else { | } else { | ||||
$provider = $request->headers->get('X-TEST-PAYMENT-PROVIDER'); | $provider = $request->headers->get('X-TEST-PAYMENT-PROVIDER'); | ||||
} | } | ||||
if (!empty($provider)) { | if (!empty($provider)) { | ||||
\config(['services.payment_provider' => $provider]); | \config(['services.payment_provider' => $provider]); | ||||
} | } | ||||
// Pick up config set in Tests\Browser::withConfig | |||||
// This wouldn't technically need to be in a middleware, | |||||
// but this way we ensure it's propagated during the next request. | |||||
if (Cache::has('duskconfig')) { | |||||
$configJson = Cache::get('duskconfig'); | |||||
$configValues = json_decode($configJson, true); | |||||
if (!empty($configValues)) { | |||||
foreach ($configValues as $key => $value) { | |||||
\config([$key => $value]); | |||||
} | |||||
} | |||||
} | |||||
} | } | ||||
return $next($request); | return $next($request); | ||||
} | } | ||||
} | } |