<?php
namespace FuquIo\LaravelPdfMaker;
use Illuminate\Http\Request;
use Closure;
class Middleware{
public function handle(Request $request, Closure $next){
/**
* This is the only way I have found to change
* inputs without breaking request validation.
*/
$inputs = $request->request->all();
$inputs['data_for_controller'] = 'foo bar';
$request->replace($inputs);
// run controller
$response = $next($request);
//...do something based on x-controller-info...
$headers = collect($response->headers->all())->only(['x-data-from-controller']);
//...
return $response;
}
}
TheController.php
public function theAction(MyValidRequest $request){
$from_middleware = $request->data_for_controller;
return response()
->view('myBladeView', ['display_data' => $from_middleware])
->header('x-data-from-controller', 'insecure string for middleware');
}
x-заголовки будут обнаружены Не так уж много ситуаций, когда этот материал x-заголовка должен использоваться.Он пойдет в браузер, поэтому он совершенно не защищен.В моем реальном сценарии использования промежуточное программное обеспечение создает файлы pdf, поэтому x-заголовки будут говорить такие вещи, как «буква» и «пейзаж».Совершенно хорошо, чтобы отправить это, возможно, даже уместно, чтобы отправить.