Add a configuration schema for the proxy plugin
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-proxy-backend': patch
|
||||
---
|
||||
|
||||
Add configuration schema for the commonly used properties
|
||||
+1
-1
@@ -38,7 +38,7 @@ proxy:
|
||||
headers:
|
||||
Authorization:
|
||||
$env: TRAVISCI_AUTH_TOKEN
|
||||
travis-api-version: 3
|
||||
travis-api-version: '3'
|
||||
|
||||
'/newrelic/apm/api':
|
||||
target: https://api.newrelic.com/v2
|
||||
|
||||
Vendored
+53
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright 2020 Spotify AB
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export interface Config {
|
||||
/**
|
||||
* A list of forwarding-proxies. Each key is a route to match,
|
||||
* below the prefix that the proxy plugin is mounted on. I must
|
||||
* start with a '/'.
|
||||
*/
|
||||
proxy: { [key: string]: string | ProxyConfig };
|
||||
}
|
||||
|
||||
interface ProxyConfig {
|
||||
/**
|
||||
* Target of the proxy. Url string to be parsed with the url module.
|
||||
*/
|
||||
target: string;
|
||||
/**
|
||||
* Object with extra headers to be added to target requests.
|
||||
*/
|
||||
headers?: { [key: string]: string };
|
||||
/**
|
||||
* Changes the origin of the host header to the target URL. Default: true.
|
||||
*/
|
||||
changeOrigin?: boolean;
|
||||
/**
|
||||
* Rewrite target's url path. Object-keys will be used as RegExp to match paths.
|
||||
* If pathRewrite is not specified, it is set to a single rewrite that removes the entire prefix and route.
|
||||
*/
|
||||
pathRewrite?: { [regexp: string]: string };
|
||||
/**
|
||||
* Limit the forwarded HTTP methods, for example allowedMethods: ['GET'] to enforce read-only access.
|
||||
*/
|
||||
allowedMethods?: string[];
|
||||
/**
|
||||
* Limit the forwarded HTTP methods. By default, only the headers that are considered safe for CORS
|
||||
* and headers that are set by the proxy will be forwarded.
|
||||
*/
|
||||
allowedHeaders?: string[];
|
||||
}
|
||||
@@ -41,6 +41,8 @@
|
||||
"supertest": "^4.0.2"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
]
|
||||
"dist",
|
||||
"config.d.ts"
|
||||
],
|
||||
"configSchema": "config.d.ts"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user