在Laravel 4中向内部请求添加标头

who*_*oes 3 rest symfony laravel laravel-4

我有一个使用Laravel 4构建的以API为中心的设置,包括REST API,前端和管理面板.前端和管理员都使用内部请求来使用API​​.

我发出这样的内部请求:

$request = Request::create($endpoint, $method, $parameters, $cookies, $files, $server, $content);
$this->response = Route::dispatch($request);
Run Code Online (Sandbox Code Playgroud)

一切正常.

现在我想使用类似于AWS的方法保护API ,当我创建上面的请求时,我还想设置一些自定义标头(api密钥,签名,时间戳).

我还没有找到一种方法来将标头添加到自定义请求中.使用内部请求时这可能吗?

who*_*oes 6

结果设置标题就像做一样简单

$request->headers->set('MyHeaderName', 'header value');
Run Code Online (Sandbox Code Playgroud)

在发送请求之前.

捕获(以及我在尝试时不起作用的原因)是我必须使用API Route::getCurrentRequest()来获取我的自定义请求(而不是仅询问请求外观):

$request = Route::getCurrentRequest();
$all_headers = $request->header();
$specific_header = $request->header("SomeHeaderName");
Run Code Online (Sandbox Code Playgroud)