PostBaby
C++ native app to test HTTP endpoints
Demo
Dependencies
- CMake
- OpenGL (with supporting drivers)
- CMake supported C++ Compiler
- Python 3 (to generate GL bindings)
- pip (for pre-commit)
Debian/Ubuntu
You also need the dev libraries for OpenSSL installed.
sudo apt-get install libx11-dev xorg-dev libglu1-mesa-dev libssl-dev
Windows
- Windows systems need the Visual Studio environment setup with the necessary files for C++ development. If required, you need to run
vcvarsall.bat x64
Windows has been configured to use WINSSL
Get Started
git clone https://github.com/theProgrammerDavid/PostBaby.git
Building
- Create a
buildfolder andcdinto that, and runcmake -DCMAKE_BUILD_TYPE=Release ..for a Release build with the build system of choice. - The
DCURL_CA_BUNDLEflag is passed as a temp fix on some Linux systems - Configuring CMake might take a while initially as it is downloading dependencies
- Once configured, build it using the selected build system. On *nix systems you can use
make -j$(nproc) - The built binary will be in
${PostBaby_ROOT}/build/src/PostBaby
Development
-
We need the following packages installed
clang clang-format clang-tidy uncrustify cppcheck iwyu -
We also need to install
pre-commitusing pip
pip install pre-commit && pre-commit install
- Pre-commit hooks will run per commit
Installing
-
Quick Install MacOS
git clone https://github.com/theProgrammerDavid/PostBaby.git && \
cd PostBaby && \
mkdir build && \
cd build && \
export PATH="/usr/local/opt/openssl/bin:$PATH" && \
CXX=clang++ CC=clang cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
-
Quick Install Linux
git clone https://github.com/theProgrammerDavid/PostBaby.git && \
cd PostBaby && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Release -DCURL_CA_BUNDLE="./cacert.pem" .. && \
make -j$(nproc) && \
sudo make install
sudo make installwill add it to your system and application launcher You can also usecpack -C Releaseto build the package for your OS (.debfor Debian derivatives)
-
Quick Install Windows
Initialize your cmd with
vcvarsall.bat x64
git clone https://github.com/theProgrammerDavid/PostBaby.git && \
cd PostBaby && \
mkdir build && \
cd build && \
cmake .. && \
MSBuild.exe /m /p:Configuration=Release PostBaby.sln
cpack -C Release
Config Files
On Windows, the config files are stored in %APPDATA%\PostBaby
On Linux and MacOS, the config files are stored in $HOME/.config/PostBaby
Libraries used
| Library | URL |
|---|---|
| ImGui | https://github.com/ocornut/imgui |
| Glew | https://glew.sourceforge.net |
| GLFW | https://github.com/glfw/glfw |
| Curl For People | https://github.com/whoshuu/cpr |
| Glad | https://github.com/Dav1dde/glad.git |
| tidy-html5 | https://github.com/htacg/tidy-html5 |
| Nlohmann JSON | https://github.com/nlohmann/json |
| SQLiteCPP | https://github.com/SRombauts/SQLiteCpp |
| spdlog | https://github.com/gabime/spdlog |