# mirror-server A simple server for mirroring HTTP requests for testing. It is optimized for working with REST API JSON calls, and catching headers. [![Build Status](https://ci.birch-tree.net/api/badges/dorian/mirror-server/status.svg)](https://ci.birch-tree.net/dorian/mirror-server) ## 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](https://watchexec.github.io/#cargo-watch): `cargo watch -x run` * Installing the binary locally from source: `cargo install --path .` ## Install `mirror-server` is installable either by a local Cargo install or a Debian package. Additionally `mirror-server` can be run as a Docker container using the latest (or tagged) release. ### Docker Image Run via Docker using: ```bash docker run -p 8080:8080 code.birch-tree.net/dorian/mirror-server:latest ``` ### Debian Package Download the DEB file, and install it: ```bash 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" ``` Afterward you can run using `mirror-server` ## Usage ```bash > mirror-server --help A simple server for mirror HTTP requests for testing. Usage: mirror-server [OPTIONS] Options: -p, --port Port to run on [default: 8080] -i, --ips Listen to IP mask [default: 0.0.0.0] -h, --help Print help -V, --version Print version ```