in reply to Re: HTTP::Tiny losing headers for Stripe
in thread HTTP::Tiny losing headers for Stripe
I would output the arguments to the second post_form call just before it occurs.
Bingo! - Thank you very much hippo
That explains what is going wrong...the authorization parameter is missing...
It doesn't explain why it is going wrong.
Using this code:
print "Content-type: text/plain\n\n"; my $headers = { 'headers' => { 'Authorization' => 'Bearer ' . $Site::Variables::stripe_secret +, }, 'agent' => 'Wayfinder/v3.0', }; my $sub_id = 'sub_xxxxxx'; print Dumper $headers; print "\n\n--------------\n\n"; # This line is the culprit... my $res = $http->post_form("https://api.stripe.com/v1/subscriptions/$s +ub_id", {}, $headers); print Dumper $headers; print "\n\n--------------\n\n";
I get this output:
$VAR1 = { 'headers' => { 'Authorization' => 'Bearer sk_test_abc123' }, 'agent' => 'Wayfinder/v3.0' }; -------------- $VAR1 = { 'agent' => 'Wayfinder/v3.0' }; --------------
Somehow the $header is being changed during the first call. I see nothing in the documentation for HTTP::Tiny to explain this.
In the short-term I can work around the problem by recreating $header between calls to Stripe. But it's not a very good solution.
I would also try to fix this first
Ordinarily, I would have fixed the API call first. However, the call requires data from the first call in order to work. Hence the need for two calls to the API.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: HTTP::Tiny losing headers for Stripe
by tangent (Parson) on Jun 26, 2022 at 13:16 UTC | |
by Bod (Parson) on Jun 26, 2022 at 14:28 UTC |