A simple server for mirroring HTTP requests for testing.
Go to file
Dorian e87ee2fa0b
continuous-integration/drone/push Build is failing Details
Fix up the curl shell command.
2024-02-22 22:29:16 -05:00
src Clean up code and add plans for future releases. 2024-02-21 21:44:18 -05:00
.dockerignore Add a Dockerfile and initial DroneCI configuration. 2024-02-21 23:17:17 -05:00
.drone.yml Fix up the curl shell command. 2024-02-22 22:29:16 -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
Dockerfile Fix issue with missing Cargo.lock in Dockerfile causing build failures. 2024-02-21 23:42:24 -05:00
LICENSE Wire up project for working with actix. 2023-01-12 09:41:47 -05:00
README.md Add a Dockerfile and initial DroneCI configuration. 2024-02-21 23:17:17 -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.

Build Status

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.
  • Create Docker image for mirror-server for easier distribution.
  • Add publishing of DEB and Docker image to DroneCI.
  • Add documentation to the API.
  • Publish crate on https://crates.io/.