public function testGracefullyHandlesUrlAppending() { $params = []; $url = 'https://www.foo.com/'; $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params); $this->assertEquals('https://www.foo.com/', $processed_url); $params = ['access_token' => 'foo']; $url = 'https://www.foo.com/'; $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params); $this->assertEquals('https://www.foo.com/?access_token=foo', $processed_url); $params = ['access_token' => 'foo', 'bar' => 'baz']; $url = 'https://www.foo.com/?foo=bar'; $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params); $this->assertEquals('https://www.foo.com/?access_token=foo&bar=baz&foo=bar', $processed_url); $params = ['access_token' => 'foo']; $url = 'https://www.foo.com/?foo=bar&access_token=bar'; $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params); $this->assertEquals('https://www.foo.com/?access_token=bar&foo=bar', $processed_url); }
/** * Generate and return the URL for this request. * * @return string */ public function getUrl() { $this->validateMethod(); $graphVersion = FacebookUrlManipulator::forceSlashPrefix($this->graphVersion); $endpoint = FacebookUrlManipulator::forceSlashPrefix($this->getEndpoint()); $url = $graphVersion . $endpoint; if ($this->getMethod() !== 'POST') { $params = $this->getParams(); $url = FacebookUrlManipulator::appendParamsToUrl($url, $params); } return $url; }