chapter-three / AppleNewsAPI

This is a PHP library that allows you to publish content to Apple News and construct documents in the Apple News JSON format.
MIT License
38 stars 26 forks source link

I am unable to reuse the PublisherAPI object to do more than one request #4

Open JonathanAquino opened 8 years ago

JonathanAquino commented 8 years ago

// Expected: I should be able to call get() twice, or get() then Post(), on a $PublisherAPI object. // Actual: I get an error if I call get() twice on a $PublisherAPI object. If I create a second $PublisherAPI object for the second get() call, then it works.


Code:

<?php
$api_key_id = "...";
$api_key_secret = "...";
$endpoint = "https://news-api.apple.com";

$PublisherAPI = new ChapterThree\AppleNewsAPI\PublisherAPI(
  $api_key_id,
  $api_key_secret,
  $endpoint
);

$response = $PublisherAPI->get('/channels/{channel_id}',
  [
    'channel_id' => '...'
  ]
);

$response = $PublisherAPI->get('/channels/{channel_id}',
  [
    'channel_id' => '...'
  ]
);

Output:

Warning: curl_setopt(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 887

Warning: curl_setopt(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 887

Warning: curl_setopt(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 887

Warning: curl_setopt(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 887

Warning: curl_exec(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 349

Warning: curl_errno(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 350

Warning: curl_error(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 352

Warning: curl_getinfo(): 123 is not a valid cURL handle resource in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 415

Notice: Undefined offset: 2 in /home/prod/yoko/build/migrate-to-sf-colo/target/dependencies/thirdparty-php-curl-class-tar.gz/src/Curl/Curl.php on line 428

Notice: Array
(
    [code] => 
    [message] => 
    [response] => 
)
sgpopsugar commented 7 years ago

same problem here. Second call fails ((delete -> post) ).

UPDATE: The only way to overcome it is to use new object (new PublisherAPI) OR to populate "client" property of PublisherAPI object with new \Curl\Curl object

serjgama commented 7 years ago

@JonathanAquino

Should fix the problem: https://github.com/chapter-three/AppleNewsAPI/pull/19