0.0.2 • Published 11 months ago

@icebreakers/serverless-http-proxy v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

@icebreakers/serverless-http-proxy

Usage

// app.js
const {
  createProxyExpressInstance
} = require('@icebreakers/serverless-http-proxy')

const app = createProxyExpressInstance({
  '^/api': {
    target: 'http://api.xxx.com',
    ws: true,
    changeOrigin: true,
    onProxyRes: (proxyRes) => {
      proxyRes.headers['x-target-address'] =
        proxyRes.req.protocol + '//' + proxyRes.req.host + proxyRes.req.path
    },
    pathRewrite: { '^/api': '' }
  }
})

module.exports = app

Local Start

const app = require('./app')
app.listen(9000)

Serverless Start

Ali-Cloud

serverless-devs:

// index.js
const serverless = require('@serverless-devs/fc-http')

const app = require('./app')

exports.handler = serverless(app)
edition: 1.0.0
name: http-proxy-server-app

access: default

vars: # 全局变量
  region: cn-hangzhou
  service:
    name: web-framework
    description: 'Serverless Devs Web Framework Service'

services:
  framework:
    component: fc
    actions:
      pre-deploy:
        - run: npm install --production
          path: ./code
    props:
      region: ${vars.region}
      service: ${vars.service}
      function:
        name: http-proxy-server
        description: 'Serverless Devs Web Framework Function'
        runtime: nodejs14
        codeUri: ./code
        handler: index.handler
        memorySize: 128
        timeout: 60
      triggers:
        - name: http-trigger
          type: http
          config:
            authType: anonymous
            methods:
              - GET
              - POST
              - PUT
              - DELETE
              - HEAD
      customDomains:
        - domainName: auto
          protocol: HTTP
          routeConfigs:
            - path: /*