如何在重定向前修改 URI
How to modify the URI before redirect
如何在重定向之前修改 URI 实例 GuzzleHttp\Psr7\Uri
,尤其是查询部分?
我试图添加一个修改请求的中间件,但是一旦我添加 CurlHandler
响应主体总是 returns 一个空字符串。
$stack = new HandlerStack();
$stack->setHandler(new CurlHandler());
$client = new Client(['handler' => $stack]);
$stack->push(Middleware::mapRequest(function (RequestInterface $request) {
// Modify request
return $request;
}));
问题是由于 HandlerStack 类型,CurlHandler 默认不处理重定向。
如何修改请求URI
$stack = HandlerStack::create();
$stack->push(Middleware::mapRequest(function (RequestInterface $request) {
// Retrieve the URI
$uri = $request->getUri();
$query = // update query
// Update the URI query
$uri = $uri->withQuery($query);
return $request->withUri($uri);
}));
如何在重定向之前修改 URI 实例 GuzzleHttp\Psr7\Uri
,尤其是查询部分?
我试图添加一个修改请求的中间件,但是一旦我添加 CurlHandler
响应主体总是 returns 一个空字符串。
$stack = new HandlerStack();
$stack->setHandler(new CurlHandler());
$client = new Client(['handler' => $stack]);
$stack->push(Middleware::mapRequest(function (RequestInterface $request) {
// Modify request
return $request;
}));
问题是由于 HandlerStack 类型,CurlHandler 默认不处理重定向。
如何修改请求URI
$stack = HandlerStack::create();
$stack->push(Middleware::mapRequest(function (RequestInterface $request) {
// Retrieve the URI
$uri = $request->getUri();
$query = // update query
// Update the URI query
$uri = $uri->withQuery($query);
return $request->withUri($uri);
}));