🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

string-replace-middleware

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

string-replace-middleware

Express middleware to replace strings in response stream on the fly

1.1.0
latest
Source
npm
Version published
Weekly downloads
944
47.73%
Maintainers
1
Weekly downloads
 
Created
Source

String Replace Middleware

A middleware for Express that allows for stream-based string replacement before sending responses.

Installation

Install in your Express project using:

npm install --save string-replace-middleware

Usage

After installing, you can add it as a middleware to your project and hand over a map of replacements. To replace every occurence of foo with bar.

const express = require('express');
const { stringReplace } = require('string-replace-middleware');

const app = express();

app.use(stringReplace({
    'foo': 'bar',
}));

app.listen(3000);

Use it to serve static files with replacements like in this example:

const express = require('express');
const serveStatic = require('serve-static');
const { stringReplace } = require('string-replace-middleware');

const app = express();

app.use(stringReplace({
    'foo': 'bar',
}));
app.use(serveStatic('public'));

app.listen(3000);

Configuration

The Content-Type header of responses is checked against a regex before modification. The regex is configurable by passing in an options object like this:

const options = {
  contentTypeFilterRegexp: /^text\/|^application\/json$|^application\/xml$/,
}

app.use(stringReplace({
    'foo': 'bar',
}, options));

The default regex is /^text\/|^application\/json$|^application\/xml$/, which will match text/*, application/json, and application/xml. Any response with a Content-Type header that doesn't match the regex is ignored and passed-through without modification.

Also any response without a Content-Type header is ignored and passed-through without any modification.

FAQs

Package last updated on 22 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts