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
ProxyOptions
Options to configure proxy middleware via createProxyHandler.
Signature
interface ProxyOptions {
label: string;
route: string;
port: number;
hostname?: string;
basePath?: string;
}
label
property
string
A human-readable label for the service which is being proxied. Used to generate more informative logs.
route
property
string
The route of the Vendure server which will act as the proxy url.
port
property
number
The port on which the service being proxied is running.
hostname
property
string
default:
'localhost'
The hostname of the server on which the service being proxied is running.
basePath
property
string
An optional base path on the proxied server.