Middleware for ui5-server, enabling proxy support.
npm install ui5-middleware-route-proxy --save-dev
$yourapp/ui5.yaml
)boolean
enable loggingobject
used to match and forward requests to your server. Needs to include the leading slash character (/
).
string
hostname of your backend serverstring
optional. If the request path needs to be modified by taking out the root directory uriobject
authorization object with username and password ( pass false
if authorization is not required )string
string
string
optional. If the client is not the default client on the SAP systemstring
optional. Is used as value for the Authorization
header if available. user
and pass
values are not used in this case.boolean
optional. If provided, the value will be added to the options of the http-proxy.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_CLIENT
Example with target and dedicated Authorization
header in .env file:
debug: true
/sap:
target: PROXY_TARGET
auth:
header: PROXY_AUTHORIZATION
changeOrigin: true
$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 > dependencies
array. In addition, once using theui5 > dependencies
array you need to list all UI5 tooling relevant dependencies.
$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
.env
file with your target, username and password for the proxy:PROXY_TARGET=<http(s)://host:port>
PROXY_USERNAME=<username>
PROXY_PASSWORD=<password>