Holy-Unblocker/lib/rewrite.js
2022-02-09 22:33:23 -08:00

32 lines
1.1 KiB
JavaScript

// -------------------------------------------------------------
// WARNING: this file is used by both the client and the server.
// Do not use any browser or node-specific API!
// -------------------------------------------------------------
const URLWrapper = require('./url');
const CookieRewriter = require('./cookie');
const CSSRewriter = require('./css');
const HTMLRewriter = require('./html');
const JSRewriter = require('./js');
const defaultConfig = {
prefix: '/service/',
codec: 'plain',
ws: true,
cookie: true,
title: 'Service',
};
class Rewrite {
constructor(config = defaultConfig) {
this.config = Object.assign(defaultConfig, config);
this.prefix = this.config.prefix;
this.forceHttps = this.config.forceHttps;
this.url = new URLWrapper(this.config || {});
this.codec = this.url.codec;
this.cookies = new CookieRewriter(this);
this.css = new CSSRewriter(this);
this.js = new JSRewriter(this);
this.html = new HTMLRewriter(this);
};
};
module.exports = Rewrite;