Add config, static files and web server
[?]
Feb 17, 2021, 11:43 AM
BCXEUKX6RVE4UQE46ITSQY2NXYK3MJT7HHL7CJOM7T4OOOCADMIACDependencies
- [2]
4MZ4VIR7Initial commit
Change contents
- replacement in src/main.rs at line 1
fn main() {println!("Hello, world!");use actix_files::Files;use actix_web::{middleware, App, HttpServer};mod config;use crate::config::Config;#[actix_web::main]async fn main() -> std::io::Result<()> {std::env::set_var("RUST_LOG", "actix_web=info");env_logger::init();let args = clap::App::new("FreeOrion Test Web").version("0.1.0").author("O01eg <o01eg@yandex.ru>").arg(clap::Arg::with_name("config").short("c").long("config").value_name("CONFIG").help("File with configuration").takes_value(true),).get_matches();let config = Config::read(args.value_of("config").expect("Mandatory option config"))?;let Config { http, public } = config;HttpServer::new(move || {App::new()// Enable the logger..wrap(middleware::Logger::default())// Serve a tree of static files at the web root and specify the index file.// Note that the root path should always be defined as the last item. The paths are// resolved in the order they are defined. If this would be placed before the `/images`// path then the service for the static images would never be reached..service(Files::new("/", &public).index_file("index.html"))}).bind(http)?.run().await - file addition: config.rs[2.6]
use std::fs::File;use std::io;use std::path::Path;use serde_derive::Deserialize;#[derive(Debug, Deserialize)]pub struct Config {pub http: std::net::SocketAddr,pub public: std::path::PathBuf,}impl Config {pub fn read<P: AsRef<Path>>(path: P) -> io::Result<Self> {use std::io::Read;let mut f = File::open(path)?;let mut buffer = String::new();f.read_to_string(&mut buffer)?;Ok(toml::from_str(&buffer)?)}} - file addition: public[1.0]
- file addition: valid-rss-rogers.png[0.1901]
- file addition: index.html[0.1901]
<!DOCTYPE html><html><head><link rel="alternate" type="application/rss+xml" href="rss.xml" title="Multiplayer FreeOrion server news" /><title>Welcome to public multiplayer FreeOrion server!</title><style>body {width: 40em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}</style></head><body><h1>Welcome to FreeOrion!</h1><p>There is a first public multiplayer FreeOrion server!</p><p>Join to <b>freeorion-test.dedyn.io</b> at default port and wait for the other players to play.</p><p>Server updates to the latest stable version. Current version: <b>0.4.10.1</b>.<br/>Subscribe to <a href="rss.xml">RSS</a> <a href="http://www.feedvalidator.org/check.cgi?url=https%3A//freeorion-test.dedyn.io/rss.xml"><img src="valid-rss-rogers.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a> to get updates.<ul><li>There are should be at least 2 human players to start the game.<li>4 AI allowed.<li>Sends notification about entered player, notifications about started game, and chat messages to <a href="xmpp:freeorion@conference.bitcheese.net?join">FreeOrion jabber conference (freeorion@conference.bitcheese.net)</a>.<li>Only Player client type allowed.<li>Autosaves are saved to folders based on Game UID.<li>Network messages restricted by size 10 MiB.<li>By default Random species are selected.<li>Cookies are alive 2 hours.<li>AIs re-populate lobby from save game.<li>Empire statistics disabled.<li>Introduced in-game lobby for non-participant of current playing game.<li>Chat history shows 500 latest messages.<li>The server doesn't disclosure information about other empire's research and production. Player could only see other empires research if he researched it as well.<li>The server disallows to take over eliminated empire.<li>User authentication with OTP via XMPP (no registration yet).</ul></p><p>Rules changes:<ul><li>Super Tester disabled.<li>Latest alive human player wins game.<li>Any player is allowed to concede.</ul></p><p>You can get the game here<a href="http://freeorion.org/">http://freeorion.org/</a>.<br/>Information, updates and support for this server<a href="http://freeorion.org/forum/viewtopic.php?f=2&t=10706">http://freeorion.org/forum/viewtopic.php?f=2&t=10706</a>.</p><p><em>Thank you for playing FreeOrion with us.</em><br/><em>Donates are welcome <u>BTC: 14XLekD9ifwqLtZX4iteepvbLQNYVG87zK</u></em></p><p><em>or via Clanpay <a href="https://evolution-host.com/clanpay.php">https://evolution-host.com/clanpay.php</a><br/></em><strong>Client username:</strong><u>O01eg</u></p></p></body></html> - edit in Cargo.toml at line 6
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - edit in Cargo.toml at line 8[2.303]
clap = "2.33.3"serde = "1.0"serde_derive = "1.0"toml = "0.5"actix-web = "4.0.0-beta.3"actix-files = "0.6.0-beta.2"env_logger = "0.8" - file addition: Cargo.lock[1.0]
# This file is automatically @generated by Cargo.# It is not intended for manual editing.[[package]]name = "actix-codec"version = "0.4.0-beta.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "90673465c6187bd0829116b02be465dc0195a74d7719f76ffff0effef934a92e"dependencies = ["bitflags","bytes","futures-core","futures-sink","log","pin-project-lite","tokio","tokio-util",][[package]]name = "actix-files"version = "0.6.0-beta.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4ccb1b8bc3f0cc933d551c34f7484d3c7af9733aacb5f3c28f3998f058959f3a"dependencies = ["actix-service","actix-web","askama_escape","bitflags","bytes","derive_more","futures-core","futures-util","log","mime","mime_guess","percent-encoding",][[package]]name = "actix-http"version = "3.0.0-beta.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8a12706e793a92377f85cec219514b72625b3b89f9b4912d8bfb53ab6a615bf0"dependencies = ["actix-codec","actix-rt","actix-service","actix-tls","actix-utils","ahash","base64","bitflags","brotli2","bytes","bytestring","cookie","derive_more","encoding_rs","flate2","futures-channel","futures-core","futures-util","h2","http","httparse","indexmap","itoa","language-tags","lazy_static","log","mime","percent-encoding","pin-project","rand","regex","serde","serde_json","serde_urlencoded","sha-1","slab","smallvec","time",][[package]]name = "actix-macros"version = "0.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dbcb2b608f0accc2f5bcf3dd872194ce13d94ee45b571487035864cf966b04ef"dependencies = ["quote","syn",][[package]]name = "actix-router"version = "0.2.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2ad299af73649e1fc893e333ccf86f377751eb95ff875d095131574c6f43452c"dependencies = ["bytestring","http","log","regex","serde",][[package]]name = "actix-rt"version = "2.0.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c88cf46527e27f66efcd5831f60b3d9c2dac795b6d255ed17791752d6c36a8ea"dependencies = ["actix-macros","futures-core","tokio",][[package]]name = "actix-server"version = "2.0.0-beta.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a99198727204a48f82559c18e4b0ba3197b97d5f4576a32bdbef371f3b4599c1"dependencies = ["actix-codec","actix-rt","actix-service","actix-utils","futures-core","log","mio","num_cpus","slab","tokio",][[package]]name = "actix-service"version = "2.0.0-beta.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ca9756f4d32984ac454ae3155a276f6be69b424197bd3f0ca3c87cde72f41d63"dependencies = ["futures-core","pin-project-lite",][[package]]name = "actix-tls"version = "3.0.0-beta.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "322b22e9238d065f331af0585089de8c36978fcc56f888054add4e4365b9916b"dependencies = ["actix-codec","actix-rt","actix-service","actix-utils","derive_more","futures-core","http","log","tokio-util",][[package]]name = "actix-utils"version = "3.0.0-beta.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "458795e09a29bc5557604f9ff6f32236fd0ee457d631672e4ec8f6a0103bb292"dependencies = ["actix-codec","actix-rt","actix-service","futures-core","futures-sink","log","pin-project-lite",][[package]]name = "actix-web"version = "4.0.0-beta.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bc9683dc8c3037ea524e0fec6032d34e1cb1ee72c4eb8689f428a60c2a544ea3"dependencies = ["actix-codec","actix-http","actix-macros","actix-router","actix-rt","actix-server","actix-service","actix-utils","actix-web-codegen","ahash","awc","bytes","derive_more","either","encoding_rs","futures-core","futures-util","log","mime","pin-project","regex","serde","serde_json","serde_urlencoded","smallvec","socket2","time","url",][[package]]name = "actix-web-codegen"version = "0.5.0-beta.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8313dc4cbcae1785a7f14c3dfb7dfeb25fe96a03b20e5c38fe026786def5aa70"dependencies = ["proc-macro2","quote","syn",][[package]]name = "adler"version = "0.2.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"[[package]]name = "ahash"version = "0.7.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "efa60d2eadd8b12a996add391db32bd1153eac697ba4869660c0016353611426"dependencies = ["getrandom","once_cell","version_check",][[package]]name = "aho-corasick"version = "0.7.15"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"dependencies = ["memchr",][[package]]name = "ansi_term"version = "0.11.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"dependencies = ["winapi",][[package]]name = "askama_escape"version = "0.10.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb"[[package]]name = "atty"version = "0.2.14"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"dependencies = ["hermit-abi","libc","winapi",][[package]]name = "autocfg"version = "1.0.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"[[package]]name = "awc"version = "3.0.0-beta.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "da7225ad81fbad09ef56ccc61e0688abe8494a68722c5d0df5e2fc8b724a200b"dependencies = ["actix-codec","actix-http","actix-rt","actix-service","base64","bytes","cfg-if","derive_more","futures-core","log","mime","percent-encoding","rand","serde","serde_json","serde_urlencoded",][[package]]name = "base-x"version = "0.2.8"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"[[package]]name = "base64"version = "0.13.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"[[package]]name = "bitflags"version = "1.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"[[package]]name = "block-buffer"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"dependencies = ["generic-array",][[package]]name = "brotli-sys"version = "0.3.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"dependencies = ["cc","libc",][[package]]name = "brotli2"version = "0.3.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"dependencies = ["brotli-sys","libc",][[package]]name = "bumpalo"version = "3.6.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "099e596ef14349721d9016f6b80dd3419ea1bf289ab9b44df8e4dfd3a005d5d9"[[package]]name = "bytes"version = "1.0.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"[[package]]name = "bytestring"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "90706ba19e97b90786e19dc0d5e2abd80008d99d4c0c5d1ad0b5e72cec7c494d"dependencies = ["bytes",][[package]]name = "cc"version = "1.0.66"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48"[[package]]name = "cfg-if"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"[[package]]name = "clap"version = "2.33.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"dependencies = ["ansi_term","atty","bitflags","strsim","textwrap","unicode-width","vec_map",][[package]]name = "const_fn"version = "0.4.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"[[package]]name = "cookie"version = "0.14.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "784ad0fbab4f3e9cef09f20e0aea6000ae08d2cb98ac4c0abc53df18803d702f"dependencies = ["percent-encoding","time","version_check",][[package]]name = "cpuid-bool"version = "0.1.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"[[package]]name = "crc32fast"version = "1.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"dependencies = ["cfg-if",][[package]]name = "derive_more"version = "0.99.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "41cb0e6161ad61ed084a36ba71fbba9e3ac5aee3606fb607fe08da6acbcf3d8c"dependencies = ["proc-macro2","quote","syn",][[package]]name = "digest"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"dependencies = ["generic-array",][[package]]name = "discard"version = "1.0.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"[[package]]name = "either"version = "1.6.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"[[package]]name = "encoding_rs"version = "0.8.28"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"dependencies = ["cfg-if",][[package]]name = "env_logger"version = "0.8.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"dependencies = ["atty","humantime","log","regex","termcolor",][[package]]name = "flate2"version = "1.0.20"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"dependencies = ["cfg-if","crc32fast","libc","miniz_oxide",][[package]]name = "fnv"version = "1.0.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"[[package]]name = "form_urlencoded"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00"dependencies = ["matches","percent-encoding",][[package]]name = "freeorion-test-web"version = "0.1.0"dependencies = ["actix-files","actix-web","clap","env_logger","serde","serde_derive","toml",][[package]]name = "futures-channel"version = "0.3.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f2d31b7ec7efab6eefc7c57233bb10b847986139d88cc2f5a02a1ae6871a1846"dependencies = ["futures-core",][[package]]name = "futures-core"version = "0.3.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "79e5145dde8da7d1b3892dad07a9c98fc04bc39892b1ecc9692cf53e2b780a65"[[package]]name = "futures-sink"version = "0.3.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "caf5c69029bda2e743fddd0582d1083951d65cc9539aebf8812f36c3491342d6"[[package]]name = "futures-task"version = "0.3.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "13de07eb8ea81ae445aca7b69f5f7bf15d7bf4912d8ca37d6645c77ae8a58d86"[[package]]name = "futures-util"version = "0.3.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "632a8cd0f2a4b3fdea1657f08bde063848c3bd00f9bbf6e256b8be78802e624b"dependencies = ["futures-core","futures-sink","futures-task","pin-project-lite","pin-utils",][[package]]name = "generic-array"version = "0.14.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"dependencies = ["typenum","version_check",][[package]]name = "getrandom"version = "0.2.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"dependencies = ["cfg-if","libc","wasi",][[package]]name = "h2"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6b67e66362108efccd8ac053abafc8b7a8d86a37e6e48fc4f6f7485eb5e9e6a5"dependencies = ["bytes","fnv","futures-core","futures-sink","futures-util","http","indexmap","slab","tokio","tokio-util","tracing","tracing-futures",][[package]]name = "hashbrown"version = "0.9.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"[[package]]name = "hermit-abi"version = "0.1.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"dependencies = ["libc",][[package]]name = "http"version = "0.2.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747"dependencies = ["bytes","fnv","itoa",][[package]]name = "httparse"version = "1.3.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "615caabe2c3160b313d52ccc905335f4ed5f10881dd63dc5699d47e90be85691"[[package]]name = "humantime"version = "2.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"[[package]]name = "idna"version = "0.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "de910d521f7cc3135c4de8db1cb910e0b5ed1dc6f57c381cd07e8e661ce10094"dependencies = ["matches","unicode-bidi","unicode-normalization",][[package]]name = "indexmap"version = "1.6.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b"dependencies = ["autocfg","hashbrown",][[package]]name = "instant"version = "0.1.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"dependencies = ["cfg-if",][[package]]name = "itoa"version = "0.4.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"[[package]]name = "language-tags"version = "0.2.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"[[package]]name = "lazy_static"version = "1.4.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"[[package]]name = "libc"version = "0.2.86"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"[[package]]name = "lock_api"version = "0.4.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"dependencies = ["scopeguard",][[package]]name = "log"version = "0.4.14"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"dependencies = ["cfg-if",][[package]]name = "matches"version = "0.1.8"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"[[package]]name = "memchr"version = "2.3.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"[[package]]name = "mime"version = "0.3.16"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"[[package]]name = "mime_guess"version = "2.0.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"dependencies = ["mime","unicase",][[package]]name = "miniz_oxide"version = "0.4.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"dependencies = ["adler","autocfg",][[package]]name = "mio"version = "0.7.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e50ae3f04d169fcc9bde0b547d1c205219b7157e07ded9c5aff03e0637cb3ed7"dependencies = ["libc","log","miow","ntapi","winapi",][[package]]name = "miow"version = "0.3.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897"dependencies = ["socket2","winapi",][[package]]name = "ntapi"version = "0.3.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"dependencies = ["winapi",][[package]]name = "num_cpus"version = "1.13.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"dependencies = ["hermit-abi","libc",][[package]]name = "once_cell"version = "1.5.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"[[package]]name = "opaque-debug"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"[[package]]name = "parking_lot"version = "0.11.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"dependencies = ["instant","lock_api","parking_lot_core",][[package]]name = "parking_lot_core"version = "0.8.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"dependencies = ["cfg-if","instant","libc","redox_syscall","smallvec","winapi",][[package]]name = "percent-encoding"version = "2.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"[[package]]name = "pin-project"version = "1.0.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "96fa8ebb90271c4477f144354485b8068bd8f6b78b428b01ba892ca26caf0b63"dependencies = ["pin-project-internal",][[package]]name = "pin-project-internal"version = "1.0.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "758669ae3558c6f74bd2a18b41f7ac0b5a195aea6639d6a9b5e5d1ad5ba24c0b"dependencies = ["proc-macro2","quote","syn",][[package]]name = "pin-project-lite"version = "0.2.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827"[[package]]name = "pin-utils"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"[[package]]name = "ppv-lite86"version = "0.2.10"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"[[package]]name = "proc-macro-hack"version = "0.5.19"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"[[package]]name = "proc-macro2"version = "1.0.24"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"dependencies = ["unicode-xid",][[package]]name = "quote"version = "1.0.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"dependencies = ["proc-macro2",][[package]]name = "rand"version = "0.8.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"dependencies = ["libc","rand_chacha","rand_core","rand_hc",][[package]]name = "rand_chacha"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"dependencies = ["ppv-lite86","rand_core",][[package]]name = "rand_core"version = "0.6.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"dependencies = ["getrandom",][[package]]name = "rand_hc"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"dependencies = ["rand_core",][[package]]name = "redox_syscall"version = "0.2.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"dependencies = ["bitflags",][[package]]name = "regex"version = "1.4.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a"dependencies = ["aho-corasick","memchr","regex-syntax","thread_local",][[package]]name = "regex-syntax"version = "0.6.22"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581"[[package]]name = "rustc_version"version = "0.2.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"dependencies = ["semver",][[package]]name = "ryu"version = "1.0.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"[[package]]name = "scopeguard"version = "1.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"[[package]]name = "semver"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"dependencies = ["semver-parser",][[package]]name = "semver-parser"version = "0.7.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"[[package]]name = "serde"version = "1.0.123"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"dependencies = ["serde_derive",][[package]]name = "serde_derive"version = "1.0.123"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"dependencies = ["proc-macro2","quote","syn",][[package]]name = "serde_json"version = "1.0.62"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486"dependencies = ["itoa","ryu","serde",][[package]]name = "serde_urlencoded"version = "0.7.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"dependencies = ["form_urlencoded","itoa","ryu","serde",][[package]]name = "sha-1"version = "0.9.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"dependencies = ["block-buffer","cfg-if","cpuid-bool","digest","opaque-debug",][[package]]name = "sha1"version = "0.6.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"[[package]]name = "signal-hook-registry"version = "1.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"dependencies = ["libc",][[package]]name = "slab"version = "0.4.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"[[package]]name = "smallvec"version = "1.6.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"[[package]]name = "socket2"version = "0.3.19"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"dependencies = ["cfg-if","libc","winapi",][[package]]name = "standback"version = "0.2.15"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a2beb4d1860a61f571530b3f855a1b538d0200f7871c63331ecd6f17b1f014f8"dependencies = ["version_check",][[package]]name = "stdweb"version = "0.4.20"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"dependencies = ["discard","rustc_version","stdweb-derive","stdweb-internal-macros","stdweb-internal-runtime","wasm-bindgen",][[package]]name = "stdweb-derive"version = "0.5.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"dependencies = ["proc-macro2","quote","serde","serde_derive","syn",][[package]]name = "stdweb-internal-macros"version = "0.2.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"dependencies = ["base-x","proc-macro2","quote","serde","serde_derive","serde_json","sha1","syn",][[package]]name = "stdweb-internal-runtime"version = "0.1.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"[[package]]name = "strsim"version = "0.8.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"[[package]]name = "syn"version = "1.0.60"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"dependencies = ["proc-macro2","quote","unicode-xid",][[package]]name = "termcolor"version = "1.1.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"dependencies = ["winapi-util",][[package]]name = "textwrap"version = "0.11.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"dependencies = ["unicode-width",][[package]]name = "thread_local"version = "1.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd"dependencies = ["once_cell",][[package]]name = "time"version = "0.2.25"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1195b046942c221454c2539395f85413b33383a067449d78aab2b7b052a142f7"dependencies = ["const_fn","libc","standback","stdweb","time-macros","version_check","winapi",][[package]]name = "time-macros"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"dependencies = ["proc-macro-hack","time-macros-impl",][[package]]name = "time-macros-impl"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e5c3be1edfad6027c69f5491cf4cb310d1a71ecd6af742788c6ff8bced86b8fa"dependencies = ["proc-macro-hack","proc-macro2","quote","standback","syn",][[package]]name = "tinyvec"version = "1.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "317cca572a0e89c3ce0ca1f1bdc9369547fe318a683418e42ac8f59d14701023"dependencies = ["tinyvec_macros",][[package]]name = "tinyvec_macros"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"[[package]]name = "tokio"version = "1.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e8190d04c665ea9e6b6a0dc45523ade572c088d2e6566244c1122671dbf4ae3a"dependencies = ["autocfg","bytes","libc","memchr","mio","once_cell","parking_lot","pin-project-lite","signal-hook-registry","winapi",][[package]]name = "tokio-util"version = "0.6.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ebb7cb2f00c5ae8df755b252306272cd1790d39728363936e01827e11f0b017b"dependencies = ["bytes","futures-core","futures-sink","log","pin-project-lite","tokio",][[package]]name = "toml"version = "0.5.8"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"dependencies = ["serde",][[package]]name = "tracing"version = "0.1.23"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f7d40a22fd029e33300d8d89a5cc8ffce18bb7c587662f54629e94c9de5487f3"dependencies = ["cfg-if","pin-project-lite","tracing-core",][[package]]name = "tracing-core"version = "0.1.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f"dependencies = ["lazy_static",][[package]]name = "tracing-futures"version = "0.2.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"dependencies = ["pin-project","tracing",][[package]]name = "typenum"version = "1.12.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"[[package]]name = "unicase"version = "2.6.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"dependencies = ["version_check",][[package]]name = "unicode-bidi"version = "0.3.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"dependencies = ["matches",][[package]]name = "unicode-normalization"version = "0.1.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"dependencies = ["tinyvec",][[package]]name = "unicode-width"version = "0.1.8"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"[[package]]name = "unicode-xid"version = "0.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"[[package]]name = "url"version = "2.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e"dependencies = ["form_urlencoded","idna","matches","percent-encoding",][[package]]name = "vec_map"version = "0.8.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"[[package]]name = "version_check"version = "0.9.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"[[package]]name = "wasi"version = "0.10.2+wasi-snapshot-preview1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"[[package]]name = "wasm-bindgen"version = "0.2.70"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "55c0f7123de74f0dab9b7d00fd614e7b19349cd1e2f5252bbe9b1754b59433be"dependencies = ["cfg-if","wasm-bindgen-macro",][[package]]name = "wasm-bindgen-backend"version = "0.2.70"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7bc45447f0d4573f3d65720f636bbcc3dd6ce920ed704670118650bcd47764c7"dependencies = ["bumpalo","lazy_static","log","proc-macro2","quote","syn","wasm-bindgen-shared",][[package]]name = "wasm-bindgen-macro"version = "0.2.70"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3b8853882eef39593ad4174dd26fc9865a64e84026d223f63bb2c42affcbba2c"dependencies = ["quote","wasm-bindgen-macro-support",][[package]]name = "wasm-bindgen-macro-support"version = "0.2.70"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4133b5e7f2a531fa413b3a1695e925038a05a71cf67e87dafa295cb645a01385"dependencies = ["proc-macro2","quote","syn","wasm-bindgen-backend","wasm-bindgen-shared",][[package]]name = "wasm-bindgen-shared"version = "0.2.70"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dd4945e4943ae02d15c13962b38a5b1e81eadd4b71214eee75af64a4d6a4fd64"[[package]]name = "winapi"version = "0.3.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"dependencies = ["winapi-i686-pc-windows-gnu","winapi-x86_64-pc-windows-gnu",][[package]]name = "winapi-i686-pc-windows-gnu"version = "0.4.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"[[package]]name = "winapi-util"version = "0.1.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"dependencies = ["winapi",][[package]]name = "winapi-x86_64-pc-windows-gnu"version = "0.4.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - file addition: .ignore[1.0]
/target