Socket
Socket
Sign inDemoInstall

ui5-middleware-http-proxy

Package Overview
Dependencies
73
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ui5-middleware-http-proxy

custom ui5 middleware extension for proxying http requests


Version published
Weekly downloads
194
increased by52.76%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

JavaScript Style Guide

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

Add 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"
    ]
  }
}

Register

Register custom middleware

Register the custom middleware in your project's ui5.yaml:

server:
  customMiddleware:
    # proxy for ui5 resources
    - name: ui5-middleware-http-proxy
      mountPath: /resources
      afterMiddleware: compression
      configuration:
        baseUrl: https://openui5.hana.ondemand.com
        path: /resources
    # proxy for ui5 test resources
    - name: ui5-middleware-http-proxy
      mountPath: /test-resources
      afterMiddleware: compression
      configuration:
        baseUrl: http://localhost:5000
        path: /test-resources
    # proxy for service with self signed certificate and http basic authentication
    - name: ui5-middleware-http-proxy
      mountPath: /service
      afterMiddleware: 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:

nametypeDescriptionmandatorydefaultexamples
debugbooleanenable/disable debug logsnofalsetrue, false
baseUrlstringbaseUrl for proxying requestsyes-https://services.odata.org, http://localhost:5000
pathstringpath for proxying requestsno//resources, /V2/Northwind/Northwind.svc
securebooleanreject self-signed certificatesnotruetrue, false
authobjectcredentials for http basic authenticationno-
auth.userstringuser for http basic authenticationno-kratos, env:HTTP_PROXY_AUTH_USER
auth.passstringpassword for http basic authenticationno-atreus, env:HTTP_PROXY_AUTH_PASS
Support for .env files

Support for .env files is provided by the dotenv module.

Simply prefix your .env variables for with env: and provide them as auth.user and auth.pass in your configuration.

Instead of taking the plain string value, the variable will then be resolved against your .env file.

Example configuration file:

server:
  customMiddleware:
    # proxy using .env credentials
    - name: ui5-middleware-http-proxy
      mountPath: /service
      afterMiddleware: compression
      configuration:
        debug: true
        baseUrl: https://services.odata.org
        path: /V2/Northwind/Northwind.svc
        secure: false
        auth:
          user: env:MY_HTTP_PROXY_AUTH_USER
          pass: env:MY_HTTP_PROXY_AUTH_PASS

Example .env file:

MY_HTTP_PROXY_AUTH_USER=kratos
MY_HTTP_PROXY_AUTH_PASS=atreus
NOTE:

This is a breaking API change as of version ^2.0.0.

Version ^1.1.0 only supports static .env variables:

  • HTTP_PROXY_AUTH_USER
  • HTTP_PROXY_AUTH_PASS

Example app

Please have look at bookshop-ui.

Keywords

FAQs

Last updated on 03 Feb 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc