Serverless HTTP Proxy
npm install @slsplus/serverless-http



Serverless HTTP Proxy.
``bash`
$ npm i @slsplus/serverless-http --save
`js
import http from 'http';
import express from 'express';
import { ServerlessProxy } from '@slsplus/serverless-http';
const app = express();
app.get('/', (req, res) => {
res.send('Hello Serverless Express');
});
const proxy = new ServerlessProxy({
requestListener: app,
});
// export serverless handler function
export.handler = async (event, context) => {
await proxy.start()
const res = await proxy.getResponse(event);
return res;
}
`
Here is the example nodejs-runtime.
Start proxy server by child proces, set useChildProcess to true, like below:
`js
import http from 'http';
import express from 'express';
import { ServerlessProxy } from '@slsplus/serverless-http';
const app = express();
app.get('/', (req, res) => {
res.send('Hello Serverless Express');
});
const proxy = new ServerlessProxy({
requestListener: app,
useChildProcess: true,
});
// export serverless handler function
export.handler = async (event, context) => {
await proxy.start()
const res = await proxy.getResponse(event);
return res;
}
`
`js
import { ServerlessProxy, TencentRuntime } from '@slsplus/serverless-http';
import app from './app';
async function start() {
const proxy = new ServerlessProxy({
requestListener: app,
});
const runtime = new TencentRuntime({
proxy,
});
// start http server
await proxy.start();
// post ready -- finish initialization
await runtime.ready();
console.log(Initialize success);
try {
while (true) {
await runtime.run();
}
} catch (e) {
await runtime.error({
statusCode: 501,
body: Code Error: ${e},
headers: {},
isBase64Encoded: false,
});
}
}
start();
``
Here is the example custom-runtime.
More information about Tencent Cloud Custom Runtime.
MIT License
Copyright (c) 2020 Serverless Plus