Plugin Utilities
createProxyHandler
Creates a proxy middleware which proxies the given route to the given port. Useful for plugins which start their own servers but should be accessible via the main Vendure url.
Example
// Example usage in the `configuration` method of a VendurePlugin.
// Imagine that we have started a Node server on port 5678
// running some service which we want to access via the `/my-plugin/`
// route of the main Vendure server.
@VendurePlugin({
configuration: (config: Required<VendureConfig>) => {
config.apiOptions.middleware.push({
handler: createProxyHandler({
label: 'Admin UI',
route: 'my-plugin',
port: 5678,
}),
route: 'my-plugin',
});
return config;
}
})
export class MyPlugin {}
Signature
function createProxyHandler(options: ProxyOptions): RequestHandler
Parameters
options
parameter
type:
ProxyOptions
ProxyOptions
Options to configure proxy middleware via createProxyHandler.
Signature
interface ProxyOptions {
label: string;
route: string;
port: number;
hostname?: string;
basePath?: string;
}
Members
label
property
type:
string
A human-readable label for the service which is being proxied. Used to
generate more informative logs.
route
property
type:
string
The route of the Vendure server which will act as the proxy url.
port
property
type:
number
The port on which the service being proxied is running.
hostname
property
type:
string
default:
'localhost'
The hostname of the server on which the service being proxied is running.
basePath
property
type:
string
An optional base path on the proxied server.