Skip to content

Repository files navigation

http-example

Учебный HTTP-сервер Хекслета: https://http.hexlet.app. На него живьём ходят студенты из курсов HTTP API, протокол HTTP, Postman и js-playwright, а уроки и самостоятельные работы цитируют его ответы дословно, вплоть до значений полей.

Отсюда главное свойство проекта: ответы сервера это контент курса, а не деталь реализации. Правка данных здесь делает неверным текст урока в другом репозитории, и по коду это не видно. Поэтому правила работы с проектом собраны в AGENTS.md, и читать их стоит до первой правки — там же разобрано, почему наборы данных такого размера, почему они не меняются и какие коды ответов несут уроки.

Устройство короткое: четыре спецификации на TypeSpec (typespec/<app>/, по одной на курс) компилируются в OpenAPI, а маршруты, валидацию и авторизацию строит из них fastify-openapi-glue. Руками написаны только данные и то, что в OpenAPI не выражается. Значит документация и поведение разъехаться не могут: студент читает ту же спецификацию, по которой работает сервер.

Prerequisites

  • Make
  • Docker

Commands

make setup           # зависимости и компиляция спецификаций
make test            # прогон против всех четырёх префиксов
make compose-build
make compose         # http://localhost:8080

Остальные цели — в Makefile.


Hexlet Ltd. logo

This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.

About

HTTP server for http requests, api and other

Resources

Stars

0 stars

Watchers

2 watching

Forks

Packages

Used by

Contributors

Languages