66#include " Stock.hxx"
77#include " SRequest.hxx"
88#include " cgi/Address.hxx"
9+ #include " cgi/ChildParams.hxx"
910#include " pool/pool.hxx"
1011#include " pool/tpool.hxx"
1112#include " util/StringCompare.hxx"
1617class WasRequest final : WasStockRequest {
1718 WasStock &was_stock;
1819 const CgiAddress &address;
19- const std::span<const char *const > args;
2020
2121public:
2222 WasRequest (struct pool &_pool, WasStock &_was_stock,
@@ -37,8 +37,7 @@ class WasRequest final : WasStockRequest {
3737 _address.params.ToArray(_pool),
3838 _metrics_handler, _handler),
3939 was_stock(_was_stock),
40- address(_address),
41- args(address.args.ToArray(pool)) {}
40+ address(_address) {}
4241
4342 using WasStockRequest::WasStockRequest;
4443
@@ -49,13 +48,17 @@ class WasRequest final : WasStockRequest {
4948
5049protected:
5150 void GetStockItem () noexcept override {
51+ auto r = NewFromPool<CgiChildParams>(pool, address.GetAction (),
52+ address.args .ToArray (pool),
53+ address.options ,
54+ address.parallelism ,
55+ address.concurrency ,
56+ address.disposable );
57+
5258 const TempPoolLease tpool;
5359 const auto key = address.GetChildId (*tpool);
5460
55- was_stock.Get (pool, key,
56- address.options ,
57- address.GetAction (), args,
58- address.parallelism , address.disposable ,
61+ was_stock.Get (key, *r,
5962 *this , cancel_ptr);
6063 }
6164};
0 commit comments