Files
test_server/AGENTS.md
T
2026-04-09 22:31:31 +03:00

1.5 KiB

test_server

A C++ HTTP server using the PIP library.

Build & Run

mkdir build && cd build
cmake ..
make
./test_server

Key Facts

  • C++ Standard: C++11 (enforced)
  • Build System: CMake (generates compile_commands.json automatically)
  • Build Directory: build/ (ignored in git)
  • PIP Library: Installed at /usr/local/include/pip
  • Entrypoint: src/main.cpp

Dependencies

The project uses a custom PIP C++ library (not Python pip). Required components:

  • PIP::Console - Console output (piCout)
  • PIP::HTTPServer - HTTP server functionality
  • PIP::IOUtils - I/O utilities
  • PIP::ClientServer - Client/server infrastructure

Code Style

  • Formatter: clang-format (config in .clang-format)
  • Indent: Tabs, width 4
  • Column Limit: 140 characters
  • Encoding: UTF-8

Run formatter:

clang-format -i src/*.cpp src/*.h

Architecture

The server creates a PIKbdListener that:

  • Captures F10 key press for graceful exit
  • Starts an HTTP server on 0.0.0.0:8888
  • Waits for exit signal via WAIT_FOR_EXIT macro

API Endpoints

Endpoint Method Description
/api/connect GET Connects TCP client to 127.0.0.1:1234
/api/disconnect GET Disconnects TCP client

Testing

Use reproduce_crash.sh to test the TCP connect/disconnect functionality:

./reproduce_crash.sh

Notes

  • Qt Creator is the primary IDE (.qtcreator/ config present)
  • No unit tests or CI configured