Fetch backends

ShimmerCat uses a simple interface for pulling static assets. At the moment, we have three implementations of that interface:

fetch backend Can HTTPS? Can use pooling? Value at root-dir
filesystem of course not not needed string with path
http-fetch no yes (1)
use-consultant yes yes (2)

Notes:

(1) The http-fetch backend is enabled by having an object under root-dir with a fetch-backend keyword with a value http, and then a few other pieces as explained in HTTP 1.1 for statics.

(2) The use-consultant backend is enabled by having an object under root-dir with a keyword use-consultant.

A brief note on terminology

Notice the spelling, "pulling", as in tying a rope to a tire and dragging the tire from one place to the other by pulling the rope.

In some parts of the documentation we also use the term "pooling" connected to static assets. That one has a different spelling, and it comes from the word "pool". Think about a swimming pool, which instead of water is full of HTTP connections that ShimmerCat can use and re-use to fetch assets.

Once you understand that there are different fetch backends, you can configure the server to pull resources using HTTP/1.1. There are two different ways to go about this, using different fetch backends.

The http-fetch fetch backend

This backend supports pooling, and specifying both a host and a path-prefix. HTTPS is not supported

To use it, instead of having root-dir in the devlove contain a string, it should contain the backend configuration. Like this:

---
shimmercat-devlove:
  domains:
    elec development.aspdotnetstorefront.outdoorexperten.se:
      root-dir:
        fetch-backend: http
        http-port: lookup(development.aspdotnetstorefront.outdoorexperten.se):80
        use-host: development.aspdotnetstorefront.outdoorexperten.se
      views-dir: views-dir
      changelist-settings:
        tOld: 7200
        tNew: 20

Notice there:

The use-consultant fetch backend

This uses one of the consultants configured for this electric domain, the one that you name it. As such, it supports HTTPS and pooling, although such configuration is just taken from the consultant. To use it, have an object under root-dir with a keyword use-consultant and the name of the consultant to use (which you should have also defined):

shimmercat-devlove:
   domains:
      elec www.supershoes.com:
          consultant:
            connect-to: "8080"
          root-dir:
            use-consultant: default

Dynamic vs static assets

ShimmerCat separates dynamic and static assets in the following ways:

The exception to the rules above is "generated" assets, whose syntax is explained in more detail in the chapter about the rewrite engine. The following applies to them: