use Friendica\Core\System;
use Friendica\DI;
use Friendica\Protocol\Feed as ProtocolFeed;
+use Friendica\Network\HTTPException;
/**
* Provides public Atom feeds
*/
class Feed extends BaseModule
{
- protected function content(array $request = []): string
+ protected function rawContent(array $request = [])
{
- $last_update = $request['last_update'] ?? '';
- $nocache = !empty($request['nocache']) && local_user();
+ $last_update = $this->getRequestValue($request, 'last_update', '');
+ $nocache = !empty($request['nocache']) && DI::userSession()->getLocalUserId();
$type = null;
// @TODO: Replace with parameter from router
$type = 'posts';
}
- System::httpExit(ProtocolFeed::atom($this->parameters['nickname'], $last_update, 10, $type, $nocache, true), Response::TYPE_ATOM);
+ $feed = ProtocolFeed::atom($this->parameters['nickname'], $last_update, 10, $type, $nocache, true);
+ if (empty($feed)) {
+ throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
+ }
+
+ System::httpExit($feed, Response::TYPE_ATOM);
}
}