Bugzilla – Attachment 170381 Details for
Bug 37526
Handle redirects in SUSHI requests
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 37526: Handle redirects in SUSHI requests
Bug-37526-Handle-redirects-in-SUSHI-requests.patch (text/plain), 2.39 KB, created by
Matt Blenkinsop
on 2024-08-15 13:38:13 UTC
(
hide
)
Description:
Bug 37526: Handle redirects in SUSHI requests
Filename:
MIME Type:
Creator:
Matt Blenkinsop
Created:
2024-08-15 13:38:13 UTC
Size:
2.39 KB
patch
obsolete
>From d6c3da5b8f856276e642c4244bbee7f88d1c6fc9 Mon Sep 17 00:00:00 2001 >From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> >Date: Tue, 30 Jul 2024 12:54:14 +0000 >Subject: [PATCH] Bug 37526: Handle redirects in SUSHI requests > >--- > Koha/ERM/EUsage/UsageDataProvider.pm | 36 +++++++++++++++++++++------- > 1 file changed, 27 insertions(+), 9 deletions(-) > >diff --git a/Koha/ERM/EUsage/UsageDataProvider.pm b/Koha/ERM/EUsage/UsageDataProvider.pm >index e85ee58ce8c..5302356d4a8 100644 >--- a/Koha/ERM/EUsage/UsageDataProvider.pm >+++ b/Koha/ERM/EUsage/UsageDataProvider.pm >@@ -174,11 +174,8 @@ sub harvest_sushi { > $self->{report_type} = $args->{report_type}; > $self->{begin_date} = $args->{begin_date}; > $self->{end_date} = $args->{end_date}; >- my $url = $self->_build_url_query; >- my $request = HTTP::Request->new( 'GET' => $url ); >- my $ua = LWP::UserAgent->new; >- $ua->agent( 'Koha/' . Koha::version() ); >- my $response = $ua->simple_request($request); >+ my $url = $self->_build_url_query; >+ my $response = _handle_sushi_request($url); > > if ( $response->code >= 400 ) { > my $result = decode_json( $response->decoded_content ); >@@ -279,10 +276,7 @@ sub test_connection { > $url .= '&requestor_id=' . $self->requestor_id if $self->requestor_id; > $url .= '&api_key=' . $self->api_key if $self->api_key; > >- my $request = HTTP::Request->new( 'GET' => $url ); >- my $ua = LWP::UserAgent->new; >- $ua->agent( 'Koha/' . Koha::version() ); >- my $response = $ua->simple_request($request); >+ my $response = _handle_sushi_request($url); > > if ( $response->{_rc} >= 400 ) { > my $message = $response->{_msg}; >@@ -520,6 +514,30 @@ sub _counter_file_size_too_large { > return 0; > } > >+=head3 _handle_sushi_response >+ >+Creates and sends the request based on a provided url >+Also handles any redirects >+ >+=cut >+ >+sub _handle_sushi_request { >+ my ($url) = @_; >+ >+ my $request = HTTP::Request->new( 'GET' => $url ); >+ my $ua = LWP::UserAgent->new; >+ $ua->agent( 'Koha/' . Koha::version() ); >+ my $response = $ua->simple_request($request); >+ >+ if ( $response->is_redirect ) { >+ my $redirect_url = $response->header('Location'); >+ $redirect_url = URI->new_abs( $redirect_url, $url ); >+ $response = $ua->get($redirect_url); >+ } >+ >+ return $response; >+} >+ > =head3 _type > > =cut >-- >2.39.3 (Apple Git-146)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 37526
:
169858
|
170381
|
171777
|
171778
|
171891
|
171892
|
172055
|
172056
|
172057