fix(proxy): types and versions

This commit is contained in:
Ivan Shmidt
2020-07-09 01:54:31 +02:00
parent 14537751b3
commit ed0bd8f616
3 changed files with 21 additions and 8 deletions
+10 -3
View File
@@ -20,8 +20,9 @@
"clean": "backstage-cli clean"
},
"dependencies": {
"@backstage/backend-common": "^0.1.1-alpha.12",
"@backstage/config": "^0.1.1-alpha.12",
"@backstage/backend-common": "^0.1.1-alpha.13",
"@backstage/config": "^0.1.1-alpha.13",
"@backstage/config-loader": "^0.1.1-alpha.13",
"@types/express": "^4.17.6",
"@types/http-proxy-middleware": "^0.19.3",
"express": "^4.17.1",
@@ -36,7 +37,7 @@
"yup": "^0.29.1"
},
"devDependencies": {
"@backstage/cli": "^0.1.1-alpha.12",
"@backstage/cli": "^0.1.1-alpha.13",
"@types/node-fetch": "^2.5.7",
"@types/supertest": "^2.0.8",
"@types/uuid": "^8.0.0",
@@ -44,6 +45,12 @@
"jest-fetch-mock": "^3.0.3",
"supertest": "^4.0.2"
},
"workspaces": {
"nohoist": [
"http-proxy-middleware",
"@types/http-proxy-middleware"
]
},
"files": [
"dist"
]
+3 -3
View File
@@ -15,7 +15,7 @@
*/
import { errorHandler } from '@backstage/backend-common';
import { AppConfig } from '@backstage/config';
import { Config } from '@backstage/config';
import express from 'express';
import Router from 'express-promise-router';
import { createProxyMiddleware } from 'http-proxy-middleware';
@@ -23,7 +23,7 @@ import { Logger } from 'winston';
export interface RouterOptions {
logger: Logger;
config: AppConfig;
config: Config;
}
export async function createRouter(
@@ -32,7 +32,7 @@ export async function createRouter(
const router = Router();
router.use(express.json());
const proxyConfig = options.config.data.proxy ?? {};
const proxyConfig = options.config.get('proxy') ?? {};
Object.entries(proxyConfig).forEach(([route, proxyRouteConfig]) => {
router.use(createProxyMiddleware(route, proxyRouteConfig));
});
@@ -18,6 +18,8 @@ import { createServiceBuilder } from '@backstage/backend-common';
import { Server } from 'http';
import { Logger } from 'winston';
import { createRouter } from './router';
import { ConfigReader } from '@backstage/config';
import { loadConfig } from '@backstage/config-loader';
export interface ServerOptions {
port: number;
@@ -28,17 +30,21 @@ export interface ServerOptions {
export async function startStandaloneServer(
options: ServerOptions,
): Promise<Server> {
const logger = options.logger.child({ service: 'catalog-backend' });
const logger = options.logger.child({ service: 'proxy-backend' });
logger.debug('Creating application...');
logger.debug('Starting application server...');
const config = ConfigReader.fromConfigs(await loadConfig());
const router = await createRouter({
config,
logger,
});
const service = createServiceBuilder(module)
.enableCors({ origin: 'http://localhost:3000' })
.addRouter('/proxy', router);
logger.debug('Starting application server...');
return await service.start().catch(err => {
logger.error(err);
process.exit(1);