public function testParamsCanBeReturnedAsArray() { $paramsOne = FacebookUrlManipulator::getParamsAsArray('/foo'); $paramsTwo = FacebookUrlManipulator::getParamsAsArray('/foo?one=1&two=2'); $paramsThree = FacebookUrlManipulator::getParamsAsArray('https://www.foo.com'); $paramsFour = FacebookUrlManipulator::getParamsAsArray('https://www.foo.com/?'); $paramsFive = FacebookUrlManipulator::getParamsAsArray('https://www.foo.com/?foo=bar'); $this->assertEquals([], $paramsOne); $this->assertEquals(['one' => '1', 'two' => '2'], $paramsTwo); $this->assertEquals([], $paramsThree); $this->assertEquals([], $paramsFour); $this->assertEquals(['foo' => 'bar'], $paramsFive); }
/** * Set the endpoint for this request. * * @param string * * @return FacebookRequest * * @throws FacebookSDKException */ public function setEndpoint($endpoint) { // Harvest the access token from the endpoint to keep things in sync $params = FacebookUrlManipulator::getParamsAsArray($endpoint); if (isset($params['access_token'])) { $this->setAccessTokenFromParams($params['access_token']); } // Clean the token & app secret proof from the endpoint. $filterParams = ['access_token', 'appsecret_proof']; $this->endpoint = FacebookUrlManipulator::removeParamsFromUrl($endpoint, $filterParams); return $this; }