commit 59c921c5d5ce212bd4494057cd74e543749902b0
parent c4aa71836b7fb441a96b518972038e1398cda69d
Author: Matt Brubeck <mbrubeck@limpet.net>
Date: Wed, 10 Jun 2020 08:40:45 -0700
Switch to fork of tree_magic
Diffstat:
3 files changed, 85 insertions(+), 74 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -2,17 +2,26 @@
# It is not intended for manual editing.
[[package]]
name = "agate"
-version = "1.1.0"
+version = "1.2.0"
dependencies = [
"async-std",
"async-tls",
"once_cell",
"rustls",
- "tree_magic",
+ "tree_magic_mini",
"url",
]
[[package]]
+name = "arrayvec"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
+dependencies = [
+ "nodrop",
+]
+
+[[package]]
name = "async-std"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -26,7 +35,7 @@ dependencies = [
"futures-timer",
"kv-log-macro",
"log",
- "memchr 2.3.3",
+ "memchr",
"num_cpus",
"once_cell",
"pin-project-lite",
@@ -91,15 +100,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
name = "crossbeam-deque"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -255,7 +255,7 @@ dependencies = [
"futures-macro",
"futures-sink",
"futures-task",
- "memchr 2.3.3",
+ "memchr",
"pin-project",
"pin-utils",
"proc-macro-hack",
@@ -330,19 +330,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
-name = "libc"
-version = "0.2.71"
+name = "lexical-core"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
+checksum = "d7043aa5c05dd34fb73b47acb8c3708eac428de4545ea3682ed2f11293ebd890"
+dependencies = [
+ "arrayvec",
+ "cfg-if",
+ "rustc_version",
+ "ryu",
+ "static_assertions",
+]
[[package]]
-name = "lock_api"
-version = "0.3.4"
+name = "libc"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-dependencies = [
- "scopeguard",
-]
+checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
[[package]]
name = "log"
@@ -367,15 +371,6 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
[[package]]
name = "memchr"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memchr"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
@@ -390,12 +385,20 @@ dependencies = [
]
[[package]]
+name = "nodrop"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
+
+[[package]]
name = "nom"
-version = "3.2.1"
+version = "5.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05aec50c70fd288702bcd93284a8444607f3292dbdf2a30de5ea5dcdbe72287b"
+checksum = "0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6"
dependencies = [
- "memchr 1.0.2",
+ "lexical-core",
+ "memchr",
+ "version_check",
]
[[package]]
@@ -415,30 +418,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
[[package]]
-name = "parking_lot"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3"
-dependencies = [
- "cfg-if",
- "cloudabi",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
-]
-
-[[package]]
name = "percent-encoding"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -550,6 +529,15 @@ dependencies = [
]
[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver",
+]
+
+[[package]]
name = "rustls"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -563,6 +551,12 @@ dependencies = [
]
[[package]]
+name = "ryu"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
+
+[[package]]
name = "scoped-tls-hkt"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -585,6 +579,21 @@ dependencies = [
]
[[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 = "send_wrapper"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -642,6 +651,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
+name = "static_assertions"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f3eb36b47e512f8f1c9e3d10c2c1965bc992bd9cdb024fa581e2194501c83d3"
+
+[[package]]
name = "syn"
version = "1.0.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -653,15 +668,14 @@ dependencies = [
]
[[package]]
-name = "tree_magic"
-version = "0.2.3"
+name = "tree_magic_mini"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d99367ce3e553a84738f73bd626ccca541ef90ae757fdcdc4cbe728e6cb629"
+checksum = "92a265e0c5b89a31cb939a9d7ffce63382e450af10df56a3b9bfb7084d3c2178"
dependencies = [
"fnv",
"lazy_static",
"nom",
- "parking_lot",
"petgraph",
]
@@ -707,6 +721,12 @@ dependencies = [
]
[[package]]
+name = "version_check"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
+
+[[package]]
name = "wasm-bindgen"
version = "0.2.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -841,8 +861,3 @@ name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[patch.unused]]
-name = "tree_magic"
-version = "0.3.0"
-source = "git+https://github.com/mbrubeck/tree_magic?branch=override#688ee0c303d1bdd342853cd835ab0c3dc2beefb6"
diff --git a/Cargo.toml b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "agate"
-version = "1.1.0"
+version = "1.2.0"
authors = ["Matt Brubeck <mbrubeck@limpet.net>"]
description = "Very simple server for the Gemini hypertext protocol"
keywords = ["server", "gemini", "hypertext", "internet", "protocol"]
@@ -15,14 +15,10 @@ async-tls = "0.7.0"
async-std = "1.5"
once_cell = "1.4"
rustls = "0.17.0"
-tree_magic = "0.2.3"
+tree_magic_mini = "1.0"
url = "2.1"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
-
-[patch.crates-io.tree_magic]
-git = "https://github.com/mbrubeck/tree_magic"
-branch = "override"
diff --git a/src/main.rs b/src/main.rs
@@ -135,7 +135,7 @@ async fn send_response<W: Write + Unpin>(url: &Url, mut stream: W) -> Result {
if path.extension() == Some(OsStr::new("gmi")) {
stream.write_all(b"20 text/gemini\r\n").await?;
} else {
- let mime = tree_magic::from_u8(&body);
+ let mime = tree_magic_mini::from_u8(&body);
let header = format!("20 {}\r\n", mime);
stream.write_all(header.as_bytes()).await?;
}