@cisco-msx/dev-proxy

1.0.0 • Public • Published

@cisco-msx/dev-proxy

Simple webserver intended to be used for developing the MSX browser application.

Behaviour

This webserver will attempt to serve local files from the directory provided to it, but will fall back to proxying requests to a remote MSX instance if it cannot locate a file matching the request.

Usage

Usage: msx-dev-proxy [options] <directory> <remote host>

Arguments:
directory                  root of files to be served
remote host                host of remote MSX instance

Options:
-V, --version              output the version number
-p, --port <port>          port server should listen on (default: 9004)
-h, --hostname <hostname>  hostname server will be accessed from instead of localhost, ex.
                            proxy.dev
--force-https              always proxy request using https (default: true)
--no-force-https
--allow-self-signed        allow self signed certificates from remote (default: true)
--no-allow-self-signed
--google-key <key>         Google API key browser application should use
--help                     display help for command

Example

> npm install --save-dev @cisco-msx/dev-proxy
> npx msx-dev-proxy ./build remote-host.ciscomsx.com --port 9004

Notes

The proxy modifies the following parts of the requests sent to and responses sent by the remote MSX instance.

MSX Configuration

Configuration variables for the MSX browser application are defined by the file gconfig.js on an instance. The proxy performs inline modification of this file so the configuration used by the browser application better matches the arguments passed to the proxy. Specifically it will re-write the following variables to the provided values:

  • UIROOTURL: will either be the provided hostname, or else localhost:<port>
  • GATEWAY_URL: will be re-defined to match remote
  • LOGIN_URL: will be re-defined to match remote
  • GOOGLE_API_KEY: will be re-defined to match google-key if given

Content Security Policy

Responses from the proxy will have the content-security-policy header modified. This is to ensure the remote's host is always correctly defined in the allowed connect-srcs, since requests to the MSX API from the browser application normally bypass the proxy and are made directly to the remote host.

Copyright © 2022 Cisco Systems, Inc and its affiliates. All rights reserved.

Readme

Keywords

none

Package Sidebar

Install

npm i @cisco-msx/dev-proxy

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

7.48 kB

Total Files

5

Last publish

Collaborators

  • caygin
  • eturriff
  • vdhaneku
  • rathsaba
  • jjurkiew
  • hagraham
  • posze
  • nstehr-cisco