HTTP::Request
используется внутренне LWP::UserAgent
, и если они вернут его с помощью get
или post
-методов, это будет уже слишком поздно, так как запрос уже выполнен.Но они, очевидно, предвидели необходимость доступа к объекту запроса, поэтому они реализовали обратные вызовы, чтобы вы могли изменить запрос перед его отправкой:
$ua->add_handler(request_prepare => sub {
my($request, $ua, $h) = @_;
# $request is a HTPP::Request
$request->header("X-Reason" => "just checkin");
});
Так что если вам нужен доступ к объекту запроса без его создания инастройка - обратные вызовы - путь.