From d4eb9e7d6bc326a8efc069c25af2ee35ab87acc4 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Thu, 13 Apr 2017 08:00:59 +0000
Subject: [PATCH] Fix rotation

---
 proxy.php |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/proxy.php b/proxy.php
index ff9eb34..2aedacb 100644
--- a/proxy.php
+++ b/proxy.php
@@ -1,20 +1,72 @@
 <?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/stop' => [
+		'stop' => '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