Integration with Azure Functions

Azure Functions is a serverless environment that supports JavaScript. feTS is platform agnostic and can be deployed to Azure Functions as well.

Installation

npm i fets @azure/functions

Usage

import { createRouter, Response } from 'fets'
import { AzureFunction, Context, HttpRequest } from '@azure/functions'
 
const router = createRouter<Context>().route({ method: 'GET', path: '/greetings', schemas: {
responses: { 200: { type: 'object', properties: { message: { type: 'string' } }, required:
['message'], additionalProperties: false } } }, handler: () => Response.json({ message: 'Hello
World!' }) })
 
const httpTrigger: AzureFunction = async function ( context: Context, req: HttpRequest ):
Promise<void> { const response = await router.fetch(req.url, { method: req.method?.toString(), body:
req.rawBody, headers: req.headers })
 
const headersObj = {} response.headers.forEach((value, key) => { headersObj[key] = value })
 
const responseText = await response.text()
 
context.res = { status: response.status, body: responseText, headers: headersObj } }