Skip to main content

resolve_source_request

Function resolve_source_request 

Source
pub fn resolve_source_request(
    source: OperationVc<Box<dyn ContentSource>>,
    request: TransientInstance<SourceRequest>,
) -> OperationVc<ResolveSourceRequestResult>
Expand description

Resolves a SourceRequest within a ContentSource, returning the corresponding content.

Matches the first ContentSourceContent in the RouteTree returned by ContentSource::get_routes that does not generate ContentSourceContent::Next.

In the future, this function may be used at the boundary of consistency. All invoked methods should be read using [strong consistency][OperationVc::read_strongly_consistent]. This ensures that all requests serve the latest version of the content.

If this function is not called/read with strong consistency, ContentSource::get_routes would be allowed to be independently consistent. Side effects should not need to wait for recomputation of ContentSource::get_routes.

TODO: The callers of this function now read this operation using strong consistency. This may have re-introduced performance issues that were solved in https://github.com/vercel/turborepo/pull/5360.