@@ -87,11 +87,9 @@ class Client
8787 const AUTH_HTTP_TOKEN = 'http_token ' ;
8888
8989 /**
90- * @var array
90+ * @var string
9191 */
92- private $ options = array (
93- 'api_version ' => 'v3 ' ,
94- );
92+ private $ apiVersion = 'v3 ' ;
9593
9694 /**
9795 * The object that sends HTTP messages
@@ -307,7 +305,7 @@ public function setEnterpriseUrl($enterpriseUrl)
307305 $ this ->removePlugin (PathPrepend::class);
308306
309307 $ this ->addPlugin (new Plugin \AddHostPlugin (UriFactoryDiscovery::find ()->createUri ($ enterpriseUrl )));
310- $ this ->addPlugin (new PathPrepend (sprintf ('/api/%s/ ' , $ this ->getOption ( ' api_version ' ))));
308+ $ this ->addPlugin (new PathPrepend (sprintf ('/api/%s/ ' , $ this ->getApiVersion ( ))));
311309 }
312310
313311 /**
@@ -361,13 +359,36 @@ public function setHttpClient(HttpClient $httpClient)
361359 $ this ->httpClient = $ httpClient ;
362360 }
363361
362+ /**
363+ * @return string
364+ */
365+ public function getApiVersion ()
366+ {
367+ return $ this ->apiVersion ;
368+ }
369+
370+ /**
371+ * @param string $apiVersion
372+ *
373+ * @return Client
374+ */
375+ public function setApiVersion ($ apiVersion )
376+ {
377+ $ this ->apiVersion = $ apiVersion ;
378+ $ this ->addHeaders ([
379+ 'Accept ' => sprintf ('application/vnd.github.%s+json ' , $ apiVersion ),
380+ ]);
381+
382+ return $ this ;
383+ }
384+
364385 /**
365386 * Clears used headers.
366387 */
367388 public function clearHeaders ()
368389 {
369390 $ this ->headers = array (
370- 'Accept ' => sprintf ('application/vnd.github.%s+json ' , $ this ->options [ ' api_version ' ] ),
391+ 'Accept ' => sprintf ('application/vnd.github.%s+json ' , $ this ->getApiVersion () ),
371392 );
372393
373394 $ this ->removePlugin (Plugin \HeaderAppendPlugin::class);
@@ -403,44 +424,6 @@ public function removeCache()
403424 $ this ->removePlugin (Plugin \CachePlugin::class);
404425 }
405426
406- /**
407- * @param string $name
408- *
409- * @throws InvalidArgumentException
410- *
411- * @return mixed
412- */
413- public function getOption ($ name )
414- {
415- if (!array_key_exists ($ name , $ this ->options )) {
416- throw new InvalidArgumentException (sprintf ('Undefined option called: "%s" ' , $ name ));
417- }
418-
419- return $ this ->options [$ name ];
420- }
421-
422- /**
423- * @param string $name
424- * @param mixed $value
425- *
426- * @throws InvalidArgumentException
427- * @throws InvalidArgumentException
428- */
429- public function setOption ($ name , $ value )
430- {
431- if (!array_key_exists ($ name , $ this ->options )) {
432- throw new InvalidArgumentException (sprintf ('Undefined option called: "%s" ' , $ name ));
433- }
434-
435- if ($ name === 'api_version ' ) {
436- $ this ->addHeaders ([
437- 'Accept ' => sprintf ('application/vnd.github.%s+json ' , $ value ),
438- ]);
439- }
440-
441- $ this ->options [$ name ] = $ value ;
442- }
443-
444427 /**
445428 * @param string $name
446429 *
0 commit comments