===========================================
.. contents:: Table of Contents
If you want to build from source, cargo install wesers
may not work.
(As it don't look Cargo.lock
currently)
Install with
.. code-block:: sh
cargo install --git https://github.com/wdv4758h/wesers
or
.. code-block:: sh
cargo install --git https://github.com/wdv4758h/wesers --tag v0.3.1
If you want to download prebuilt binary,
you can visit GitHub's release page <https://github.com/wdv4758h/wesers/releases>
_
.. code-block:: sh
$ wesers --help
wesers 0.3.1
Chiu-Hsiang Hsu <wdv4758h@gmail.com>
a simple HTTP/HTTPS server in Rust
USAGE:
wesers [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
--https use HTTPS instead of HTTP
-V, --version Prints version information
OPTIONS:
--cert <cert> SSL certificate file (needed for HTTPS)
--index <index> auto detect index.html [default: true]
--ip <ip> binding IP [default: 127.0.0.1]
--key <key> SSL key file (needed for HTTPS)
--port <port> binding port [default: 8000]
--root <root> root directory [default: .]
--template <template> HTML template path
.. code-block:: sh
$ wesers
Simple HTTP Server running on http://127.0.0.1:8000/
GET http://127.0.0.1:8000/ -> 200 OK (0.110684 ms)
GET http://127.0.0.1:8000/target -> 200 OK (0.043674 ms)
GET http://127.0.0.1:8000/target/release -> 200 OK (0.082394 ms)
GET http://127.0.0.1:8000/target/release/wesers -> 200 OK (5.063098 ms)
.. code-block:: sh
$ wesers --ip 127.0.0.1 --port 8080 --template ./custom.mustache
Simple HTTP Server running on http://127.0.0.1:8080/
.. code-block:: sh
$ wesers --https --cert mycert.pem --key mykey.pem
Simple HTTP Server running on https://127.0.0.1:8000/
x86_64 Linux:
+----------+---------+------------+--------------+-----------+ | Filename | Version | Stripped ? | Size (Bytes) | Size (MB) | +----------+---------+------------+--------------+-----------+ | wesers | v0.3.1 | No | 3760376 | 3.6M | +----------+---------+------------+--------------+-----------+ | wesers | v0.3.1 | Yes | 2929208 | 2.8M | +----------+---------+------------+--------------+-----------+
This is a simple load testing by Herd <https://github.com/imjacobclark/Herd>
_
(Just a simple test, not indicate a lot)
.. code-block:: sh
# Running both herd and wesers on Intel Core i5-2400 with 4GB RAM
$ ./target/release/herd -t 4 -r 1000 http://127.0.0.1:8000
...
Spawning virtual user 1
...
Spawning virtual user 3
...
I made a total of 4000 requests, the mean response time was: 0.00042591915919911117 seconds.
Features ++++++++++++++++++++
Fix ++++++++++++++++++++
Features ++++++++++++++++++++
mustache <https://mustache.github.io/>
_ )Features ++++++++++++++++++++
Features ++++++++++++++++++++
I've only tested on my x86_64 Linux. Other platforms are built by CI. If they don't work properly, please tell me.
src/arguments.yml
Cargo.toml
Cargo.lock
rust-everywhere <https://github.com/japaric/rust-everywhere/>
_ for CI integrationclap-rs <https://github.com/kbknapp/clap-rs>
_ for arguments parsingiron <https://github.com/iron/iron>
_ for Rust web frameworkmustache <https://github.com/nickel-org/rust-mustache>
_ for HTML templateRust Team <https://www.rust-lang.org/team.html>
_wesers is licensed under the AGPL License - see the LICENSE
file for details