예제 #1
0
 public function doGet()
 {
     error_log("Running the ProxyServlet.");
     global $config;
     $this->noHeaders = true;
     $context = new GadgetContext('GADGET');
     // those should be doable in one statement, but php seems to still evauluate the second ? and : pair,
     // so throws an error about undefined index on post, even though it found it in get ... odd bug
     $url = isset($_GET['url']) ? $_GET['url'] : false;
     if (!$url) {
         $url = isset($_POST['url']) ? $_POST['url'] : false;
     }
     $url = urldecode($url);
     $method = isset($_GET['httpMethod']) ? $_GET['httpMethod'] : false;
     if (!$method) {
         $method = isset($_POST['httpMethod']) ? $_POST['httpMethod'] : 'GET';
     }
     if (!$url) {
         header("HTTP/1.0 400 Bad Request", true);
         echo "<html><body><h1>400 - Missing url parameter</h1></body></html>";
     }
     $gadgetSigner = new $config['gadget_signer']();
     $proxyHandler = new ProxyHandler($context);
     if (!empty($_GET['output']) && $_GET['output'] == 'js') {
         $proxyHandler->fetchJson($url, $gadgetSigner, $method);
     } else {
         $proxyHandler->fetch($url, $gadgetSigner, $method);
     }
 }
예제 #2
0
 public function doGet()
 {
     try {
         // Make sure the HttpServlet doesn't overwrite our headers
         $this->noHeaders = true;
         $context = new GadgetContext('GADGET');
         $url = isset($_GET['url']) ? $_GET['url'] : (isset($_POST['url']) ? $_POST['url'] : false);
         $url = urldecode($url);
         if (!$url) {
             header("HTTP/1.0 400 Bad Request", true);
             echo "<html><body><h1>400 - Missing url parameter</h1></body></html>";
         }
         $proxyHandler = new ProxyHandler($context);
         $proxyHandler->fetch($url);
     } catch (Exception $e) {
         // catch all exceptions and give a 500 server error
         header("HTTP/1.0 500 Internal Server Error");
         echo "<h1>Internal server error</h1><p>" . $e->getMessage() . "</p>";
     }
 }
 public function doGet()
 {
     try {
         $this->noHeaders = true;
         $context = new GadgetContext('GADGET');
         // those should be doable in one statement, but php seems to still evauluate the second ? and : pair,
         // so throws an error about undefined index on post, even though it found it in get ... odd bug
         $url = isset($_GET['url']) ? $_GET['url'] : false;
         if (!$url) {
             $url = isset($_POST['url']) ? $_POST['url'] : false;
         }
         // $url = urldecode($url);
         $method = isset($_GET['httpMethod']) ? $_GET['httpMethod'] : false;
         if (!$method) {
             $method = isset($_POST['httpMethod']) ? $_POST['httpMethod'] : 'GET';
         }
         if (!$url) {
             header("HTTP/1.0 400 Bad Request", true);
             echo "<html><body><h1>400 - Missing url parameter</h1></body></html>";
         }
         $signingFetcherFactory = $gadgetSigner = false;
         if (!empty($_GET['authz']) || !empty($_POST['authz'])) {
             $gadgetSigner = Config::get('security_token_signer');
             $gadgetSigner = new $gadgetSigner();
             $signingFetcherFactory = new SigningFetcherFactory(Config::get("private_key_file"));
         }
         $proxyHandler = new ProxyHandler($context, $signingFetcherFactory);
         if (!empty($_GET['output']) && $_GET['output'] == 'js') {
             $proxyHandler->fetchJson($url, $gadgetSigner, $method);
         } else {
             $proxyHandler->fetch($url, $gadgetSigner, $method);
         }
     } catch (Exception $e) {
         // catch all exceptions and give a 500 server error
         header("HTTP/1.0 500 Internal Server Error");
         echo "<h1>Internal server error</h1><p>" . $e->getMessage() . "</p>";
     }
 }