/** * Prepares the request for sending to the client handler. * * @param FacebookRequest $request * * @return array */ public function prepareRequestMessage(FacebookRequest $request) { $postToVideoUrl = $request->containsVideoUploads(); $url = $this->getBaseGraphUrl($postToVideoUrl) . $request->getUrl(); // If we're sending files they should be sent as multipart/form-data if ($request->containsFileUploads()) { $requestBody = $request->getMultipartBody(); $request->setHeaders(['Content-Type' => 'multipart/form-data; boundary=' . $requestBody->getBoundary()]); } else { $requestBody = $request->getUrlEncodedBody(); $request->setHeaders(['Content-Type' => 'application/x-www-form-urlencoded']); } return [$url, $request->getMethod(), $request->getHeaders(), $requestBody->getBody()]; }