1.0.10 • Published 4 years ago
ui5-middleware-route-proxy v1.0.10
UI5 proxy middleware using routes
Middleware for ui5-server, enabling proxy support.
Install
npm install ui5-middleware-route-proxy --save-devConfiguration options (in $yourapp/ui5.yaml)
- debug:
booleanenable logging root directory of the request uri:
objectused to match and forward requests to your server. Needs to include the leading slash character (/).- target:
stringhostname of your backend server - replacePath:
stringoptional. If the request path needs to be modified by taking out the root directory uri - auth:
objectauthorization object with username and password ( passfalseif authorization is not required )- user:
string - pass:
string - client:
stringoptional. If the client is not the default client on the SAP system - header:
stringoptional. Is used as value for theAuthorizationheader if available.userandpassvalues are not used in this case.
- user:
- changeOrigin:
booleanoptional. If provided, the value will be added to the options of the http-proxy.
- target:
Each boolean or string field in a root path object can either represent the actual value or the name of a parameter in a .env file.
Example:
debug: true
/sap:
target: http(s)://host:port
replacePath: true
auth:
user: Username
pass: Password!
client: '100' Example with target/user/pass in .env file:
debug: true
/sap:
target: PROXY_TARGET
auth:
user: PROXY_USERNAME
pass: PROXY_PASSWORD
client: PROXY_CLIENTExample with target and dedicated Authorization header in .env file:
debug: true
/sap:
target: PROXY_TARGET
auth:
header: PROXY_AUTHORIZATION
changeOrigin: trueUsage
- Define the dependency in
$yourapp/package.json:
"devDependencies": {
// ...
"ui5-middleware-route-proxy": "*"
// ...
},
"ui5": {
"dependencies": [
// ...
"ui5-middleware-route-proxy",
// ...
]
}As the devDependencies are not recognized by the UI5 tooling, they need to be listed in the
ui5 > dependenciesarray. In addition, once using theui5 > dependenciesarray you need to list all UI5 tooling relevant dependencies.
- configure it in
$yourapp/ui5.yaml:
server:
customMiddleware:
- name: ui5-middleware-route-proxy
afterMiddleware: compression
configuration:
debug: true
/routeRootPath:
target: PROXY_TARGET
auth:
user: PROXY_USERNAME
pass: PROXY_PASSWORD- Add a
.envfile with your target, username and password for the proxy:
PROXY_TARGET=<http(s)://host:port>
PROXY_USERNAME=<username>
PROXY_PASSWORD=<password>