From 8338a50d0c9d86ebb7212103d72e59d05f97f87c Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Wed, 12 Apr 2017 22:48:11 +0000 Subject: [PATCH] Many updates - to be selectively merged to master --- proxy.php | 61 +++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 6 deletions(-) diff --git a/proxy.php b/proxy.php index ff9eb34..cb7b642 100644 --- a/proxy.php +++ b/proxy.php @@ -1,20 +1,69 @@ <?php -$base_proxy = 'http://www.ttss.krakow.pl/internetservice/services'; +$base_proxy = 'http://www.ttss.krakow.pl/internetservice'; $method = [ - '/lookup/autocomplete/json' => [ + '/services/lookup/autocomplete/json' => [ 'query' => function() { return TRUE; }, ], - '/passageInfo/stopPassages/stop' => [ - 'stop' => 'ctype_alnum', + '/services/lookup/stopsByCharacter' => [ + 'character' => 'ctype_alnum', + ], + '/services/passageInfo/stopPassages/stop' => [ + 'stop' => 'ctype_digit', 'mode' => function($mode) { return in_array($mode, ['arrival', 'departure']); }, ], - '/routeInfo/routeStops' => [ - 'routeId' => 'ctype_alnum' + '/services/tripInfo/tripPassages' => [ + 'tripId' => 'ctype_digit', + 'mode' => function($mode) { return in_array($mode, ['arrival', 'departure']); }, + #'vehicleId' => 'ctype_digit', ], + '/geoserviceDispatcher/services/stopinfo/stopPoints' => [ + 'left' => 'ctype_digit', + 'bottom' => 'ctype_digit', + 'right' => 'ctype_digit', + 'top' => 'ctype_digit', + ], + '/geoserviceDispatcher/services/pathinfo/route' => [ + 'id' => 'ctype_digit', + 'direction' => 'ctype_digit', + ], + '/geoserviceDispatcher/services/pathinfo/vehicle' => [ + 'id' => 'ctype_digit', + ], + '/geoserviceDispatcher/services/vehicleinfo/vehicles' => [ + 'lastUpdate' => 'ctype_digit', + 'positionType' => function($type) { return in_array($type, ['CORRECTED', 'NORMAL']); }, + 'colorType' => function($type) { return in_array($type, ['ROUTE_BASED']); }, + ], + '/services/routeInfo/routeStops' => [ + 'routeId' => 'ctype_digit', + ], + '/services/stopInfo/stopPoint' => [ + 'stopPoint' => 'ctype_digit', + ], + '/services/passageInfo/stopPassages/stopPoint' => [ + 'stopPoint' => 'ctype_digit', + 'mode' => function($mode) { return in_array($mode, ['arrival', 'departure']); }, + 'startTime' => 'ctype_digit', + 'timeFrame' => 'ctype_digit', + ], +]; +$rewrite = [ + '/lookup/autocomplete/json' => '/services/lookup/autocomplete/json', + '/passageInfo/stopPassages/stop' => '/services/passageInfo/stopPassages/stop', + '/routeInfo/routeStops' => '/services/routeInfo/routeStops', +]; +$rewrite = [ + '/lookup/autocomplete/json' => '/services/lookup/autocomplete/json', + '/passageInfo/stopPassages/stop' => '/services/passageInfo/stopPassages/stop', + '/routeInfo/routeStops' => '/services/routeInfo/routeStops', ]; $path = $_SERVER['PATH_INFO']; +if(isset($rewrite[$path])) { + $path = $rewrite[$path]; +} + if(!isset($method[$path])) { header('HTTP/1.1 403 Forbidden'); die('Forbidden'); -- Gitblit v1.9.1