@ln-e/ssi-middleware

Express middleware to render Server Side Includes

Usage no npm install needed!

<script type="module">
  import lnESsiMiddleware from 'https://cdn.skypack.dev/@ln-e/ssi-middleware';
</script>

README

Express middleware to render Server Side Includes

Build Status

Express-style middleware to process SSI directives.

The #include supports both static files and virtual paths which are fetched via HTTP(S).

<html>
  <!--#include file="/static.txt"-->
  <!--#include virtual="/dynamic"-->
</html>

Other ssi instructions supported via node-ssi

Usage

See the basic usage example below. In order to resolve static files the baseDir option has to be provided, respectively baseUrl to resolve virtual paths.

  const express = require('express');
  const ssi = require('ssi-middleware');

  const app = express();
  const port = 3000;

  app.use(ssi({
    baseDir: `${__dirname}/public`,
    baseUrl: `http://localhost:${port}`,
    request: {
      // See https://npmjs.com/package/request for options.
      // This enables the use of self-signed certificates:
      strictSSL: false
    },
    payloadFn: (req, res) => {
      return { GEO: req.headers.COUNTY_BY_IP };
    }
  }));

  app.listen(port);

License

MIT