Clean up proxy codes

Closes #35
This commit is contained in:
syuilo 2017-01-14 10:51:48 +09:00
parent 65a5373acb
commit 27c6ebebc0
5 changed files with 3 additions and 52 deletions

View file

@ -58,7 +58,6 @@ interface Mixin {
auth_url: string; auth_url: string;
dev_url: string; dev_url: string;
drive_url: string; drive_url: string;
proxy_url: string;
} }
export type IConfig = ISource & Mixin; export type IConfig = ISource & Mixin;
@ -90,7 +89,6 @@ export default (path: string) => {
mixin.auth_url = `${mixin.scheme}://auth.${mixin.host}`; mixin.auth_url = `${mixin.scheme}://auth.${mixin.host}`;
mixin.dev_url = `${mixin.scheme}://dev.${mixin.host}`; mixin.dev_url = `${mixin.scheme}://dev.${mixin.host}`;
mixin.drive_url = `${mixin.secondary_scheme}://file.${mixin.secondary_host}`; mixin.drive_url = `${mixin.secondary_scheme}://file.${mixin.secondary_host}`;
mixin.proxy_url = `${mixin.secondary_scheme}://proxy.${mixin.secondary_host}`;
return Object.assign(config || {}, mixin) as IConfig; return Object.assign(config || {}, mixin) as IConfig;
}; };

View file

@ -29,7 +29,6 @@ app.use((req, res, next) => {
app.use(vhost(`api.${config.host}`, require('./api/server'))); app.use(vhost(`api.${config.host}`, require('./api/server')));
app.use(vhost(config.secondary_host, require('./himasaku/server'))); app.use(vhost(config.secondary_host, require('./himasaku/server')));
app.use(vhost(`file.${config.secondary_host}`, require('./file/server'))); app.use(vhost(`file.${config.secondary_host}`, require('./file/server')));
app.use(vhost(`proxy.${config.secondary_host}`, require('./web/service/proxy/server')));
app.use(require('./web/server')); app.use(require('./web/server'));
/** /**

View file

@ -1,31 +0,0 @@
import * as URL from 'url';
import * as express from 'express';
import * as request from 'request';
import * as isUrl from 'is-url';
module.exports = (req: express.Request, res: express.Response) => {
const url = req.params.url;
if (!url || !isUrl(url)) {
return;
}
request({
url: url + URL.parse(req.url, true).search,
encoding: null
}, (err, response, content) => {
if (err) {
console.error(err);
return;
}
const contentType = response.headers['content-type'];
if (/^text\//.test(contentType) || contentType === 'application/javascript') {
content = content.toString().replace(/http:\/\//g, `${config.secondary_scheme}://proxy.${config.secondary_host}/http://`);
}
res.header('Content-Type', contentType);
res.send(content);
});
};

View file

@ -1,17 +0,0 @@
/**
* Forward Proxy Service
*/
import * as express from 'express';
import * as cors from 'cors';
/**
* Init app
*/
const app = express();
app.disable('x-powered-by');
app.use(cors());
app.get('/:url(*)', require('./proxy'));
module.exports = app;

View file

@ -9,5 +9,7 @@ module.exports = async (req: express.Request, res: express.Response) => {
}; };
function wrap(url: string): string { function wrap(url: string): string {
return `${config.proxy_url}/${url}`; return url != null
? `https://images.weserv.nl/?url=${url.replace(/^https?:\/\//, '')}`
: null;
} }