Giter Site home page Giter Site logo

caf_forward's Introduction

Caf.js

Co-design cloud assistants with your web app and IoT devices.

See https://www.cafjs.com

Library to Forward HTTP Requests

Build Status

This library provides a plugin to proxy http requests.

API

Configuration is managed by a dedicated CA per user (e.g., admin), using a SharedMap with a well known name (e.g., forwarding) to store the routing table.

Bindings in that table are of the form caName -> new_url_prefix, where caName is the first element of the original url path (respecting <owner>-<localname> syntax).

For example, if we are accessing a resource https://root-xx.cafjs.com/foo-ca1/xx.md, we use the SharedMap forwarding of CA foo-admin in the application root-xx. If it contains the binding:

      foo-ca1 -> https://somewhere.com

then we rewrite the address to https://somewhere.com/xx.md before we forward the HTTP request.

Configuration Example

framework.json

See {@link module:caf_forward/plug_forward}

    {
     "name": "top",
     "components" : [
        {
            "name": "sharing"
        },
        {
            "module": "caf_forward/plug",
            "name": "forward",
            "description": "HTTP proxy plugin\n Properties: ",
             "env": {
                         "adminCA": "process.env.ADMIN_CA||admin",
                         "forwardingTable": "process.env.FORWARDING_TABLE||forwarding"
                    }
        },
        {
           "name": "pipeline",
           "components" : [
               {
                   "name" :"static2"
               },
               {
                   "name": "forward",
                   "module": "caf_forward/pipe",
                   "description": "Forward HTTP requests.",
                    "env" : {
                        "webSocketPipe": false,
                        "httpPipe" : true,
                        "path": "/"
                    }
                }
            ]
        }
      ]
    }

ca.json

None

caf_forward's People

Contributors

antlai avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.