A simple server for mirroring HTTP requests for testing.
Go to file
Dorian 5e390951f0 Add more plans to the TODO list. 2024-02-21 21:49:55 -05:00
src Clean up code and add plans for future releases. 2024-02-21 21:44:18 -05:00
.gitignore Migrate to using axum over actix for web framework. 2024-02-06 15:51:30 -05:00
Cargo.toml Add tests for the mirror-server handling of requests. 2024-02-21 21:38:20 -05:00
LICENSE Wire up project for working with actix. 2023-01-12 09:41:47 -05:00
README.md Add more plans to the TODO list. 2024-02-21 21:49:55 -05:00
publish-deb.sh Fix up the output and release a new version. 2023-01-13 09:56:06 -05:00

README.md

mirror-server

A simple server for mirroring HTTP requests for testing.

Getting Started

  • Use the latest stable version of Rust using rustup.
  • Build: cargo build
  • Test: cargo test
  • Run the server: cargo run -- --port=8080
  • Create a DEB package:
    • Install cargo-deb: cargo install cargo-deb
    • Create the DEB package: cargo deb
  • Faster builds using cargo-watch: cargo watch -x run

Install

Download the DEB file, and install it:

VERSION=0.3.0
REPO_URL=https://code.birch-tree.net/api/packages/dorian/generic/mirror-server/
curl "${REPO_URL}/${VERSION}/mirror-server_${VERSION}_amd64.deb"
sudo dpkg -i "mirror-server-${VERSION}_amd64.deb"

TODO

  • Migrate actix to axum for easier maintainability.
  • Add mirroring of JSON request.
  • Add logging to server.
  • Add convenience path to access logging for a certain date / records.
  • Create Docker image for mirror-server for easier distribution.
  • Add publishing of DEB and Docker image to DroneCI.
  • Add OpenAPI/Swagger UI
  • Add documentation to the API.
  • Publish crate on https://crates.io/.