Unverified Commit e403f109 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Add support for service-specific proxies

parent 520e11a2
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -70,8 +70,10 @@ if ($list_services) {
			next;
		}
		printf(
			"%-40s %-14s %-15s %s\n",
			@{$service}{qw(name shortname)},
			"%-40s%1s %-14s %-15s %s\n",
			$service->{name},
			$service->{geoip_lock} ? q{!} : q{ },
			$service->{shortname},
			join( q{ }, @{ $service->{languages} // [] } ),
			$service->{time_zone} // q{},
		);
+7 −0
Original line number Diff line number Diff line
@@ -45,6 +45,13 @@ sub new {
		if ( $service and $hafas_instance->{$service}{ua_string} ) {
			$lwp_options{agent} = $hafas_instance->{$service}{ua_string};
		}
		if ( $service
			and my $geoip_service = $hafas_instance->{$service}{geoip_lock} )
		{
			if ( my $proxy = $ENV{"HAFAS_PROXY_${geoip_service}"} ) {
				$lwp_options{proxy} = [ [ 'http', 'https' ] => $proxy ];
			}
		}
		$ua = LWP::UserAgent->new(%lwp_options);
		$ua->env_proxy;
	}
+9 −2
Original line number Diff line number Diff line
@@ -72,6 +72,10 @@ sub load_instance {
		$ret{request}{ver} = $data->{options}{version};
	}

	if ( $opt{geoip_lock} ) {
		$ret{geoip_lock} = $opt{geoip_lock};
	}

	if ( $opt{lang} ) {
		$ret{request}{lang} = $opt{lang};
	}
@@ -182,8 +186,11 @@ my %hafas_instance = (
		),
		stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe',
	},
	PKP =>
	  { load_instance( 'pl/pkp', lang => 'pol' ), ua_string => 'Dalvik/2.1.0' },
	PKP => {
		load_instance( 'pl/pkp', lang => 'pol' ),
		ua_string  => 'Dalvik/2.1.0',
		geoip_lock => 'PKP'
	},
	Resrobot => { load_instance( 'se/resrobot',  lang => 'sve' ), },
	RMV      => { load_instance( 'de/rmv',       lang => 'deu' ), },
	RSAG     => { load_instance( 'de/rsag',      lang => 'deu' ), },