Skip to content

API Справочник

Командная строка

ncorn

ncorn module:app [ОПЦИИ]

Основная точка входа для запуска ncorn сервера.

ncorn config

ncorn config

Создаёт файл конфигурации ncorn.json по умолчанию.

Python API

Config

from ncorn.config import Config

Класс конфигурации для ncorn сервера.

config = Config(
    host="127.0.0.1",
    port=8000,
    workers=1,
    reload=False,
    max_body_size=16 * 1024 * 1024,
    ssl_keyfile=None,
    ssl_certfile=None,
    ssl_version=5,
)

Параметры

Параметр Тип По умолчанию Описание
host str "127.0.0.1" IP адрес для привязки
port int 8000 Номер порта
workers int 1 Количество воркеров
reload bool False Включить авто-перезагрузку
max_body_size int 16777216 Макс. размер тела запроса
max_header_size int 8192 Макс. размер одного заголовка
max_headers_total_size int 65536 Макс. общий размер заголовков
header_timeout float 30.0 Таймаут чтения заголовков
body_timeout float 60.0 Таймаут чтения тела
request_timeout float 10.0 Таймаут обработки запроса
keepalive_timeout float 5.0 Таймаут keep-alive
keepalive_requests int 100 Макс. запросов на соединение
max_headers int 100 Макс. количество заголовков
max_connections int 1000 Макс. одновременных соединений
max_connections_per_ip int 50 Макс. соединений с одного IP
rate_limit_requests int 100 Запросов в окно
rate_limit_window float 60.0 Окно rate limiting
ssl_keyfile str None Путь к SSL ключу
ssl_certfile str None Путь к SSL сертификату
ssl_version int 5 Версия TLS (2-5)

HTTPServer

from ncorn.server import HTTPServer

Класс HTTP сервера.

server = HTTPServer(app, config)
await server.start()
await server.stop()

Методы

start(show_banner=True)

Запустить HTTP сервер.

stop()

Корректно остановить сервер.

CLI функции

from ncorn.cli import import_app, parse_args, main

import_app(app_spec: str)

Импортировать FastAPI приложение из строки "module:app".

parse_args(args: Optional[list[str]] = None) -> argparse.Namespace

Парсить аргументы командной строки.

main(args: Optional[list[str]] = None) -> None

Основная точка входа.

Middleware

from ncorn.middleware import (
    ValidationMiddleware,
    RateLimitMiddleware,
    MiddlewareChain,
)

ValidationMiddleware

Валидирует HTTP запросы (заголовки, размер тела).

RateLimitMiddleware

Реализует IP-based rate limiting.

MiddlewareChain

Объединяет несколько middleware вместе.

Исключения

ncorn использует стандартные исключения Python. Смотрите документацию отдельных middleware для обработки ошибок.