Plugin Utilities

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({
  configure: (config: Required<VendureConfig>) => {
      config.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.