3 releases

0.1.2 Aug 6, 2023
0.1.1 Aug 6, 2023
0.1.0 Aug 6, 2023

#1393 in HTTP server

MIT license

540KB
66 lines

Mosquito 🪰 crates.io

Mosquito is a simple HTTP server that prints the parameters of incoming requests to the console in a beautiful manner.

Introduction

Mosquito was born out of the necessity to ensure the accuracy of requests in various contexts, particularly within the realm of mobile development and gaming platforms. As applications grow more complex, the ability to monitor and validate the correctness of requests becomes paramount. Whether working with React Native or building analytics tools for gaming, Mosquito serves as a reliable tool to intercept and log HTTP requests. By visualizing these requests, developers can gain insights, diagnose issues, and confirm that everything is functioning as intended, enhancing the overall quality and reliability of the applications.

Requirements

  • Rust Programming Language
  • Cargo package manager

The following Rust crates are used in this project:

  • hyper: For creating the HTTP server.
  • clap: For handling command-line arguments.
  • serde_json: For JSON processing.

Installation

Using Cargo

You can install Mosquito directly from crates.io by running the following command:

cargo install mosquito

Downloading from GitHub Releases

Alternatively, you can download the compiled binary from the Releases section of the GitHub repository.

Building from Source

Clone the repository and build the project using Cargo:

cargo build --release

The compiled binary will be available in the target/release directory.

Usage

Using Cargo

To start the server, run the following command in the project directory:

cargo run -- --host {HOST_IP} --port {PORT}

Using the Compiled Binary

After compiling the project, you can run the mosquito binary directly. Replace the path with the location of the compiled binary:

mosquito --host {HOST_IP} --port {PORT}
  • {HOST_IP}: The IP address the server will connect to. Optional, defaults to the local IP address.
  • {PORT}: The port the server will listen on. Optional, defaults to 80.

Example:

mosquito --host 0.0.0.0 --port 8080

These commands start the server at http://0.0.0.0:8080.

Logs

The server prints the timestamp, method, URI, and content of each request to the console. If the content is in JSON format, it is printed in a readable manner.

Contributing

This project is open-source and awaits your contributions. Feel free to make changes and send a pull request.

License

This project is licensed under the MIT license. For more details, see the LICENSE file.


README Created with ChatGPT

Dependencies

~12MB
~195K SLoC