Node.js - http()
Creates a new HTTP proxy, which can be used for wrapping other web frameworks. The example below shows wrapping an express application.
import { http } from '@nitric/sdk'
import express from 'express'
const app = express()
app.get('/', (req, res) => {
  res.send('Hello World!')
})
http(app, () => {
  console.log(`Application started`)
})
Parameters
- Name
 app- Required
 - Required
 - Type
 - NodeApplication | ((port: number, callback?: () => void) => ServerType | Promise<ServerType>)
 - Description
 Accepts an object that has a listen function on it, or pass the listener function itself. A listener function is a function that accepts a port and an optional callback, and is used to start the application.
- Name
 callback- Optional
 - Optional
 - Type
 - () => void
 - Description
 A callback that is passed into the listen function when the application is started.
Examples
Before testing or deploying these services you'll need to make sure you have a nitric.yaml file in the base of the project.
name: project-name
services:
  - match: services/*.ts
    start: npm run dev:services $SERVICE_PATH
Wrap a Nest.js application
For a Nest application, point your handler at the main.ts file.
name: project-name
services:
  - match: src/main.ts
    start: nest start
import { http } from '@nitric/sdk'
import { NestFactory } from '@nestjs/core'
import { AppModule } from './app.module'
async function bootstrap(port: number) {
  const app = await NestFactory.create(AppModule)
  return await app.listen(port)
}
http(bootstrap)
Wrap an Express application
import { http } from '@nitric/sdk'
import express from 'express'
const app = express()
app.get('/', (req, res) => {
  res.send('Hello World!')
})
http(app)
Wrap a Koa application
import { http } from '@nitric/sdk'
import Koa from 'koa'
const app = new Koa()
app.use(async (ctx) => {
  ctx.body = 'Hello World'
})
http(app)