From b470addbdbc536f1da04e004282ba73d15f78ae1 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 13 Mar 2020 20:18:47 +0000 Subject: [PATCH] Test high DPI tiles --- proxy_tram.php | 117 +--------------------------------------------------------- 1 files changed, 3 insertions(+), 114 deletions(-) diff --git a/proxy_tram.php b/proxy_tram.php index f24d447..40e04ee 100644 --- a/proxy_tram.php +++ b/proxy_tram.php @@ -1,117 +1,6 @@ <?php -function is_number($str) { - $str = (string)$str; - - return - ctype_digit($str) - OR - ( - substr($str, 0, 1) == '-' - AND - ctype_digit(substr($str, 1)) - ); -} - $base_proxy = 'http://www.ttss.krakow.pl/internetservice'; -$method = [ - '/services/lookup/autocomplete/json' => [ - 'query' => function() { return TRUE; }, - ], - '/services/passageInfo/stopPassages/stop' => [ - 'stop' => 'ctype_alnum', - 'mode' => function($mode) { return in_array($mode, ['arrival', 'departure']); }, - #'startTime' => 'ctype_digit', - #'timeFrame' => 'ctype_digit', - ], - '/services/passageInfo/stopPassages/stopPoint' => [ - 'stopPoint' => 'is_number', - 'mode' => function($mode) { return in_array($mode, ['arrival', 'departure']); }, - #'startTime' => 'ctype_digit', - #'timeFrame' => 'ctype_digit', - ], - '/services/tripInfo/tripPassages' => [ - 'tripId' => 'ctype_digit', - 'mode' => function($mode) { return in_array($mode, ['arrival', 'departure']); }, - #'vehicleId' => 'ctype_digit', - ], - '/services/routeInfo/routeStops' => [ - 'routeId' => 'ctype_alnum', - ], - '/services/stopInfo/stop' => [ - 'stop' => 'is_number', - ], - '/services/stopInfo/stopPoint' => [ - 'stopPoint' => 'is_number', - ], - - '/geoserviceDispatcher/services/stopinfo/stops' => [ - 'left' => 'is_number', - 'bottom' => 'is_number', - 'right' => 'is_number', - 'top' => 'is_number', - ], - '/geoserviceDispatcher/services/stopinfo/stopPoints' => [ - 'left' => 'is_number', - 'bottom' => 'is_number', - 'right' => 'is_number', - 'top' => 'is_number', - ], - '/geoserviceDispatcher/services/pathinfo/route' => [ - 'id' => 'is_number', - 'direction' => 'is_number', - ], - '/geoserviceDispatcher/services/pathinfo/vehicle' => [ - 'id' => 'is_number', - ], - '/geoserviceDispatcher/services/vehicleinfo/vehicles' => [ - 'lastUpdate' => 'ctype_digit', - 'positionType' => function($type) { return in_array($type, ['CORRECTED']); }, - 'colorType' => function($type) { return in_array($type, ['ROUTE_BASED']); }, - ], -]; -$rewrite = [ - '/lookup/autocomplete/json' => '/services/lookup/autocomplete/json', - '/passageInfo/stopPassages/stop' => '/services/passageInfo/stopPassages/stop', - '/routeInfo/routeStops' => '/services/routeInfo/routeStops', - '/internetservice/geoserviceDispatcher/services/pathinfo/vehicle' => '/geoserviceDispatcher/services/pathinfo/vehicle', -]; - -$path = $_SERVER['PATH_INFO']; - -if(isset($rewrite[$path])) { - $path = $rewrite[$path]; +if($_GET['positionType'] ?? NULL === 'RAW') { + $_GET['positionType'] = 'CORRECTED'; } - -if(!isset($method[$path])) { - header('HTTP/1.1 403 Forbidden'); - die('Forbidden'); -} - -$parameters = []; - -foreach($method[$path] as $name => $filter) { - if(!isset($_GET[$name])) { - header('HTTP/1.1 403 Forbidden'); - die('Parameter '.$name.' is required'); - } - - if(!$filter($_GET[$name])) { - header('HTTP/1.1 403 Forbidden'); - die('Parameter '.$name.' has invalid value'); - } - - $parameters[$name] = $_GET[$name]; -} - -$result = @file_get_contents($base_proxy . $path . '?' . http_build_query($parameters)); -if(!$result OR $http_response_header[0] != 'HTTP/1.1 200 OK') { - header('HTTP/1.1 503 Service Unavailable'); - if(isset($http_response_header[0])) { - die($http_response_header[0]); - } else { - die('Unknown error'); - } -} - -header('Content-Type: application/json'); -echo $result; +require('proxy_common.php'); -- Gitblit v1.9.1