Nonchalantly Perusing Magazines

    ui5-middleware-route-proxy

    1.0.10 • Public • Published

    UI5 proxy middleware using routes

    Middleware for ui5-server, enabling proxy support.

    Install

    npm install ui5-middleware-route-proxy --save-dev

    Configuration options (in $yourapp/ui5.yaml)

    • debug: boolean enable logging
    • root directory of the request uri: object used to match and forward requests to your server. Needs to include the leading slash character (/).
      • target: string hostname of your backend server
      • replacePath: string optional. If the request path needs to be modified by taking out the root directory uri
      • auth: object authorization object with username and password ( pass false if authorization is not required )
        • user: string
        • pass: string
        • client: string optional. If the client is not the default client on the SAP system
        • header: string optional. Is used as value for the Authorization header if available. user and pass values are not used in this case.
      • changeOrigin: 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

    Usage

    1. 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 > dependencies array. In addition, once using the ui5 > dependencies array you need to list all UI5 tooling relevant dependencies.

    1. 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
    1. Add a .env file with your target, username and password for the proxy:
    PROXY_TARGET=<http(s)://host:port>
    PROXY_USERNAME=<username>
    PROXY_PASSWORD=<password>

    Keywords

    none

    Install

    npm i ui5-middleware-route-proxy

    DownloadsWeekly Downloads

    68

    Version

    1.0.10

    License

    MIT

    Unpacked Size

    7.84 kB

    Total Files

    5

    Last publish

    Collaborators

    • lemaiwo