ui5-middleware-http-proxy
Custom UI5 middleware extension for proxying http requests using request
with additional http basic authentication support.
Useful for proxying requests to a remote service from a local development enviroment or serving ui5 resources from a remote host.
Works well with openui5-sdk-docker.
Prerequisites
Make sure your project is using the latest UI5 Tooling.
Getting started
Install
Custom middleware
Add the custom middleware as a devDependency to your project.
With yarn
:
yarn add -D ui5-middleware-http-proxy
Or npm
:
npm i -D ui5-middleware-http-proxy
Additionally the custom task needs to be manually defined as a ui5 dependency in your project's package.json
:
{
"ui5": {
"dependencies": [
"ui5-middleware-http-proxy"
]
}
}
Configure
Custom middleware
Register the custom task in your project's ui5.yaml
:
server:
customMiddleware:
- name: ui5-middleware-http-proxy
mountPath: /resources
beforeMiddleware: compression
configuration:
baseUrl: https://openui5.hana.ondemand.com
path: /resources
- name: ui5-middleware-http-proxy
mountPath: /test-resources
beforeMiddleware: compression
configuration:
baseUrl: http://localhost:5000
path: /test-resources
- name: ui5-middleware-http-proxy
mountPath: /service
beforeMiddleware: compression
configuration:
debug: true
baseUrl: https://services.odata.org
path: /V2/Northwind/Northwind.svc
secure: false
auth:
user: kratos
pass: atreus
Additional configuration
Options
The custom middleware accepts the following configuration options
name | type | Description | mandatory | default | examples |
---|
debug | boolean | enable/disable debug logs | no | false | true , `false |
baseUrl | string | baseUrl for proxying requests | yes | - | https://services.odata.org , http://localhost:5000 |
path | string | path for proxying requests | no | / | /resources , /V2/Northwind/Northwind.svc |
secure | boolean | reject self-signed certificates | no | true | true , false |
auth | object | credentials for http basic authentication | no | - | |
auth.user | string | user for http basic authentication | no | - | kratos |
auth.pass | string | password for http basic authentication | no | - | atreus |