@@ -269,6 +269,8 @@ public function verifiedDomains($domain_name = null)
269269 }
270270
271271 /**
272+ * Concatenate the auth URL given a client_id and redirect URI
273+ *
272274 * @param $client_id
273275 * @param $redirect_uri
274276 *
@@ -289,6 +291,8 @@ public static function getAuthUrl(
289291 }
290292
291293 /**
294+ * Handle the "handshake" to retrieve an api key via OAuth
295+ *
292296 * @param $code
293297 * @param $client_id
294298 * @param $client_sec
@@ -311,26 +315,32 @@ public static function oauthExchange(
311315 $ oauth_string .= "&redirect_uri= " . $ encoded_uri ;
312316 $ oauth_string .= "&code= " . $ code ;
313317
314- $ access_token = self ::requestAccessToken ($ oauth_string );
315- $ apiKey = self ::requestKeyFromToken ($ access_token );
318+ $ request = new MailchimpRequest ();
319+
320+ $ access_token = self ::requestAccessToken ($ oauth_string , $ request );
321+ $ request ->reset ();
322+
323+ $ apiKey = self ::requestKeyFromToken ($ access_token , $ request );
316324
317325 return $ apiKey ;
318326 }
319327
320328 /**
321- * @param $oauth_string
329+ * Request an access token from Mailchimp
330+ *
331+ * @param string $oauth_string
332+ * @param MailchimpRequest $request
322333 *
323334 * @return mixed
324335 * @throws MailchimpException
325336 */
326- private static function requestAccessToken ($ oauth_string )
337+ private static function requestAccessToken ($ oauth_string, MailchimpRequest $ request )
327338 {
328- $ request = self ::getStaticRequest ();
329339 $ request ->setMethod ("POST " );
330340 $ request ->setPayload ($ oauth_string , false );
331341 $ request ->setBaseUrl (MailchimpConnection::TOKEN_REQUEST_URL );
332342
333- $ connection = self :: getStaticConnection ($ request );
343+ $ connection = new MailchimpConnection ($ request );
334344 $ response = $ connection ->execute ();
335345
336346 $ access_token = $ response ->deserialize ()->access_token ;
@@ -345,46 +355,25 @@ private static function requestAccessToken($oauth_string)
345355 }
346356
347357 /**
348- * @param $access_token
358+ * Construct an API key by requesting an access tokens data center
359+ *
360+ * @param string $access_token
361+ * @param MailchimpRequest $request
349362 *
350363 * @return string
351364 * @throws MailchimpException
352365 */
353- private static function requestKeyFromToken ($ access_token )
366+ private static function requestKeyFromToken ($ access_token, MailchimpRequest $ request )
354367 {
355- $ request = self ::getStaticRequest ();
356368 $ request ->setMethod ("GET " );
357369 $ request ->setBaseUrl (MailchimpConnection::OAUTH_METADATA_URL );
358370 $ request ->addHeader ('Authorization: OAuth ' . $ access_token );
359371
360- $ connection = self :: getStaticConnection ($ request );
372+ $ connection = new MailchimpConnection ($ request );
361373 $ response = $ connection ->execute ();
362374
363375 $ dc = $ response ->deserialize ()->dc ;
364376
365377 return $ access_token . '- ' . $ dc ;
366378 }
367-
368- /**
369- * @param MailchimpRequest $request
370- *
371- * @return MailchimpConnection
372- *
373- * @throws MailchimpException
374- */
375- protected static function getStaticConnection (MailchimpRequest $ request )
376- {
377- $ connection = new MailchimpConnection ($ request );
378- return $ connection ;
379- }
380-
381- /**
382- * @return MailchimpRequest
383- * @throws MailchimpException
384- */
385- protected static function getStaticRequest ()
386- {
387- $ request = new MailchimpRequest ();
388- return $ request ;
389- }
390379}
0 commit comments