LunaticServer
- Расширяет
Router
.
Свойства
httpServer
Тип: readonly http.Server
HTTP сервер, используемый для получения запросов и отправки ответов.
Методы
constructor(httpServer?: http.Server)
httpServer
:http.Server
- HTTP сервер, используемый для получения запросов и отправки ответов
Создаёт экземпляр класса LunaticServer
. Вы можете указать используемый http.Server
, например, для того чтобы использовать https протокол, или для интеграции других фреймворков, таких как Socket.io:
import { LunaticServer } from '@shelepuginivan/lunatic'
import { createServer } from 'http'
import { Server } from 'socket.io'
const app = new LunaticServer()
const httpServer = createServer(app.callback)
const io = new Server(httpServer)
app.callback(req: http.IncomingMessage, res: http.ServerResponse): void
req
:http.IncomingMessage
- входящий запросres
:http.ServerResponse
- ответ сервера
Функция-callback, которая обрабатывает запрос. Этот метод может быть передан в другие методы и конструкторы, например в конструктор http.Server
:
import { LunaticServer } from '@shelepuginivan/lunatic'
import { Server } from 'http'
const app = new LunaticServer()
const httpServer = new Server(app.callback)
app.disable(feature: ApplicationFeature): LunaticServer
feature
:ApplicationFeature
- функция, которая будет отключена
Отключает указанную функцию приложения.
app.enable(feature: ApplicationFeature): LunaticServer
feature
:ApplicationFeature
- функция, которая будет включена
Включает указанную функцию приложения.
app.listen(port?: number, hostname?: string, backlog?: number): Promise<void>
port
:number | undefined
- порт, который будет прослушивать серверhostname
:string | undefined
- IP-адрес, который будет прослушивать серверbacklog
:number | undefined
- максимальная длина очереди ожидающих соединений
Для более подробной информации об аргументах, см. https://nodejs.org/api/net.html#serverlisten.
Запускает используемый http.Server
на указаном порту. В сущности, это:
await app.listen(8000)
синтаксический сахар для:
import { LunaticServer } from '@shelepuginivan/lunatic'
import { createServer } from 'http'
const app = new LunaticServer()
const httpServer = createServer()
httpServer.on('request', app.callback)
httpServer.listen(8000)
Это позволяет запускать разные серверы на разных портах, например:
import { createServer as createHttpServer } from 'http'
import { createServer as createHttpsServer } from 'https'
const app = new LunaticServer()
const httpServer = createHttpServer(app.callback)
const httpsServer = createHttpsServer(app.callback)
httpServer.listen(80)
httpsServer.listen(443)
app.renderer(renderFunction: RenderFunction): LunaticServer
renderFunction
:RenderFunction
- функция, которая используется для рендера HTML-шаблонов
Позволяет использовать фунцию-рендерер (RenderFunction
), которая будет использована при вызове Response.render()
и Response.renderFile()
для рендера HTML-шаблонов.
app.toggle(feature: ApplicationFeature): LunaticServer
feature
:ApplicationFeature
- функция, которая будет переключена
Переключает указанную функцию приложения.