mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 19:11:07 +00:00
Return an explicit error if reload fail
This commit is contained in:
parent
70584b42aa
commit
56da73969a
2 changed files with 8 additions and 7 deletions
|
@ -287,7 +287,7 @@ class EntryRestController extends WallabagRestController
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reload an entry.
|
* Reload an entry.
|
||||||
* An empty response with HTTP Status 304 will be send if we weren't able to update the content (because it hasn't changed or we got an error).
|
* A response with HTTP Status 400 will be return if we weren't able to update the content (because it hasn't changed or we got an error).
|
||||||
*
|
*
|
||||||
* @ApiDoc(
|
* @ApiDoc(
|
||||||
* requirements={
|
* requirements={
|
||||||
|
@ -302,9 +302,6 @@ class EntryRestController extends WallabagRestController
|
||||||
$this->validateAuthentication();
|
$this->validateAuthentication();
|
||||||
$this->validateUserAccess($entry->getUser()->getId());
|
$this->validateUserAccess($entry->getUser()->getId());
|
||||||
|
|
||||||
// put default title in case of fetching content failed
|
|
||||||
$entry->setTitle('No title found');
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$entry = $this->get('wallabag_core.content_proxy')->updateEntry($entry, $entry->getUrl());
|
$entry = $this->get('wallabag_core.content_proxy')->updateEntry($entry, $entry->getUrl());
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
@ -313,12 +310,12 @@ class EntryRestController extends WallabagRestController
|
||||||
'entry' => $entry,
|
'entry' => $entry,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return new JsonResponse([], 304);
|
return new JsonResponse(['error' => 'Error while trying to fetch content'], 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if refreshing entry failed, don't save it
|
// if refreshing entry failed, don't save it
|
||||||
if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) {
|
if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) {
|
||||||
return new JsonResponse([], 304);
|
return new JsonResponse(['error' => 'Error while trying to extract content'], 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
|
|
@ -690,7 +690,11 @@ class EntryRestControllerTest extends WallabagApiTestCase
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->client->request('PATCH', '/api/entries/'.$entry->getId().'/reload.json');
|
$this->client->request('PATCH', '/api/entries/'.$entry->getId().'/reload.json');
|
||||||
$this->assertEquals(304, $this->client->getResponse()->getStatusCode());
|
$this->assertEquals(400, $this->client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$this->assertContains('Error while trying to extract content', $this->client->getResponse()->getContent());
|
||||||
|
|
||||||
|
$this->assertEquals('application/json', $this->client->getResponse()->headers->get('Content-Type'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testReloadEntry()
|
public function testReloadEntry()
|
||||||
|
|
Loading…
Reference in a new issue