public function getFeed(Source $source, FeedRequest $feedRequest) : array { $collection = $this->mongoDB->selectCollection($source->getMongoDBCollection()); $source->ensureIndexes($this->mongoDB, $collection); $stream = $this->streamFactory->getStreamForSource($source); return $stream->fetch($feedRequest->getCriteria(), $collection); }
protected function createFeedRequest(ServerRequestInterface $request) : FeedRequest { return FeedRequest::createFromJSON($this->criteriaFactory, (new FeedMiddlewareRequest($request))->getParameters()['criteria']); }