diff options
| -rw-r--r-- | doc/developers/api | 10 | ||||
| -rw-r--r-- | tests/Api/PostsDeleteTest.php | 2 | ||||
| -rw-r--r-- | www/api/posts_delete.php | 14 | 
3 files changed, 16 insertions, 10 deletions
| diff --git a/doc/developers/api b/doc/developers/api new file mode 100644 index 0000000..efa05fe --- /dev/null +++ b/doc/developers/api @@ -0,0 +1,10 @@ +SemanticScuttle API +=================== + +SemanticScuttle tries to implement the delicious API v1 as closely as sensible. + +Where it makes sense and the delicious API just does things plainly wrong +(i.e. when returning a wrong status code on an error), we do it better. + +- http://www.delicious.com/help/api +- http://support.delicious.com/forum/comments.php?DiscussionID=5286&page=1 diff --git a/tests/Api/PostsDeleteTest.php b/tests/Api/PostsDeleteTest.php index 626746f..d9fb6cd 100644 --- a/tests/Api/PostsDeleteTest.php +++ b/tests/Api/PostsDeleteTest.php @@ -215,7 +215,7 @@ class Api_PostsDeleteTest extends TestBaseApi          $this->assertTag(              array(                  'tag'        => 'result', -                'attributes' => array('code' => 'something went wrong') +                'attributes' => array('code' => 'item not found')              ),              $res->getBody(),              '', false diff --git a/www/api/posts_delete.php b/www/api/posts_delete.php index 982b686..03cc968 100644 --- a/www/api/posts_delete.php +++ b/www/api/posts_delete.php @@ -4,8 +4,6 @@   * The delicious API is implemented here.   *   * The delicious API behaves like that: - * - returns "done" even if the bookmark doesn't exist - *   - we do it correctly   * - does NOT allow the hash for the url parameter   * - doesn't set the Content-Type to text/xml   *   - we do it correctly, too @@ -35,26 +33,24 @@ $uId = $userservice->getCurrentUserId();  if (!isset($_REQUEST['url'])      || $_REQUEST['url'] == ''  ) { -    $deleted = false; +    $msg = 'something went wrong';  } else if (!$bs->bookmarkExists($_REQUEST['url'], $uId)) {      //the user does not have such a bookmark -    // Note that del.icio.us only errors out if no URL was passed in; -    // there's no error on attempting to delete a bookmark you don't have. -    // this sucks, and I don't care about being different but correct here.      header('HTTP/1.0 404 Not Found'); -    $deleted = false; - +    $msg = 'item not found';  } else {      $bookmark = $bs->getBookmarkByAddress($_REQUEST['url'], false);      $bId      = $bookmark['bId'];      $deleted  = $bs->deleteBookmark($bId); +    $msg      = 'done';      if (!$deleted) {          //something really went wrong          header('HTTP/1.0 500 Internal Server Error'); +        $msg = 'something really went wrong';      }  }  // Set up the XML file and output the result.  echo '<?xml version="1.0" standalone="yes" ?' . ">\r\n"; -echo '<result code="' . ($deleted ? 'done' : 'something went wrong') . '" />'; +echo '<result code="' . $msg . '" />';  ?>
\ No newline at end of file | 
