f50438e76f
* ui: Split up client/http and replace $.ajax This splits the client/http service more in the following ways: 1. Connections are now split out into its own service 2. The transport is now split out into its own service that returns a listener based http transport 3. Various string parsing/stringifying functions are now split out into utils * Remove jQuery from our production build * Move the coverage serving to the server.js file * Self review amends * Add X-Requested-With header * Move some files around, externalize some functions * Move connection tracking to use native Set * Ensure HTTP parsing doesn't encode headers In the future this will change to deal with all HTTP parsing in one place, hence the commented out METHOD_PARSING etc * Start to fix up integration tests to use requestParams
30 lines
988 B
JavaScript
30 lines
988 B
JavaScript
'use strict';
|
|
const fs = require('fs');
|
|
const promisify = require('util').promisify;
|
|
const read = promisify(fs.readFile);
|
|
const express = require('express');
|
|
|
|
module.exports = function(app, options) {
|
|
// During development the proxy server has no way of
|
|
// knowing the content/mime type of our `oidc/callback` file
|
|
// as it has no extension.
|
|
// This shims the default server to set the correct headers
|
|
// just for this file
|
|
|
|
const file = `/oidc/callback`;
|
|
const rootURL = options.rootURL;
|
|
const url = `${rootURL.substr(0, rootURL.length - 1)}${file}`;
|
|
app.use(function(req, resp, next) {
|
|
if (req.url.split('?')[0] === url) {
|
|
return read(`${process.cwd()}/public${file}`).then(function(buffer) {
|
|
resp.header('Content-Type', 'text/html');
|
|
resp.write(buffer.toString());
|
|
resp.end();
|
|
});
|
|
}
|
|
next();
|
|
});
|
|
// Serve the coverage folder for easy viewing during development
|
|
app.use('/coverage', express.static('coverage'));
|
|
};
|