public function testGetHeadersWillAutoAppendETag()
 {
     $app = new FacebookApp('123', 'foo_secret');
     $request = new FacebookRequest($app, null, 'GET', '/foo', [], 'fooETag');
     $headers = $request->getHeaders();
     $expectedHeaders = FacebookRequest::getDefaultHeaders();
     $expectedHeaders['If-None-Match'] = 'fooETag';
     $this->assertEquals($expectedHeaders, $headers);
 }
 /**
  * Converts a Request entity into an array that is batch-friendly.
  *
  * @param FacebookRequest $request The request entity to convert.
  * @param string|null $requestName The name of the request.
  *
  * @return array
  */
 public static function requestEntityToBatchArray(FacebookRequest $request, $requestName = null)
 {
     $compiledHeaders = [];
     $headers = $request->getHeaders();
     foreach ($headers as $name => $value) {
         $compiledHeaders[] = $name . ': ' . $value;
     }
     $batch = ['headers' => $compiledHeaders, 'method' => $request->getMethod(), 'relative_url' => $request->getUrl()];
     $params = $request->getPostParams();
     if ($params) {
         $batch['body'] = http_build_query($params, null, '&');
     }
     if (isset($requestName)) {
         $batch['name'] = $requestName;
     }
     // @TODO Add support for "omit_response_on_success"
     // @TODO Add support for "depends_on"
     // @TODO Add support for "attached_files"
     // @TODO Add support for JSONP with "callback"
     return $batch;
 }