Interface StreamableResourceSource

All Known Implementing Classes:
CSSURLRewriter, DelegatingSRS, JavaScriptStackMinimizeDisabler, SRSCachingInterceptor, SRSCompressedCachingInterceptor, SRSCompressingInterceptor, SRSMinimizingInterceptor, StreamableResourceSourceImpl, UTF8ForTextAssets

Converts Resources into StreamableResources, and may be responsible for transforming resources based on file extension. Contributions map a file extension (such as "coffee") to a transformer for that file extension. Service decorators added to this service may provide additional processing (compression, minimization, and caching).
Since:
5.3
  • Method Details

    • fileExtensionsForContentType

      Given a desired content type, identify which file extensions can be mapped to that extension based on contributed ResourceTransformers that can produce the content type based for a file with that extension.
      Parameters:
      contentType - to search for (just a MIME type, such as "text/javascript")
      Returns:
      set of file extension, possibly empty, in no particular order. These are the bare extensions, e.g., "js", "coffee".
      Since:
      5.4
    • getStreamableResource

      Converts a Resource (which must be non-null and exist) into a streamable resource, along with some additional optional behaviors.
      Parameters:
      baseResource - the resource to convert
      processing - defines additional processing after the resource has been read and possibly transformed
      dependencies - Passed to any ResourceTransformer to track additional dependencies of the base resource
      Returns:
      the contents of the Resource, possibly transformed, in a streamable format.
      Throws:
      IOException - if the resource does not exist or a URL for the content is not available