Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ServerController

Load and start server to listen for data over HTTP/s

Hierarchy

  • ServerController

Index

Constructors

constructor

  • Create server and router instances (prior to load) Create server and router instances (prior to load)

    Returns ServerController

Properties

Optional _server

_server: Server | Server

Http/s server.

app

app: Koa

Koa app.

Optional info

info: AddressInfo

Served address.

messageRouter

messageRouter: Router

Koa sub-router for request messages.

router

router: Router

Koa router.

Optional started

started: Date

Timestamp for server startup.

url

  • get url(): string

Methods

listen

  • listen(port: number): Promise<void>
  • Start listening on configured port, cycling up port number if in use.

    Parameters

    • port: number

    Returns Promise<void>

load

  • load(): void
  • Initialise server and router, adding logger middleware

    Returns void

messageRoutes

  • messageRoutes(): void
  • Use nested router for message endpoints, feeding into thought process. Data can be sent by POST (JSON body) or GET (as query params). The Room ID is an optional param on the route, but without a room ID, the bot may fail in dispatching a response, depends on the messaging platform.

    Returns void

publicRoutes

  • publicRoutes(): void
  • Public routes serve content without entering thought process/middleware

    Returns void

publicStats

  • publicStats(): object
  • Data for /public route to share basic operating stats

    Returns object

    • adapters: string[]
    • middlewares: string[]
    • name: any
    • started: Date | undefined

shutdown

  • shutdown(): void
  • Close server

    Returns void

start

  • start(): Promise<void>
  • Start server listening on configured port and protocol

    Returns Promise<void>

Generated using TypeDoc