[package]
edition = "2024"
rust-version = "1.88"
name = "gopher-protocol"
version = "0.1.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An implementation of the Gopher protocol (gopher://) and its Gopher+ successor: async client, RFC 1436 menu parser with RFC 4266 URLs, and Gopher+ attribute blocks, alternate views, and ASK forms. The parser half has no dependencies."
readme = "README.md"
keywords = [
"gopher",
"gopher-plus",
"smolweb",
"protocol",
"gemini",
]
categories = ["network-programming"]
license = "MIT"
repository = "https://github.com/merely-made/smolweb"
resolver = "2"
[features]
client = [
"dep:tokio",
"dep:url",
]
default = ["client"]
server = [
"dep:tokio",
"dep:log",
"tokio/rt",
"tokio/time",
"tokio/macros",
]
tls = [
"client",
"dep:rustls",
"dep:tokio-rustls",
]
[lib]
name = "gopher_protocol"
path = "src/lib.rs"
[dependencies.log]
version = "0.4"
optional = true
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = [
"net",
"io-util",
]
optional = true
default-features = false
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.url]
version = "2.5"
optional = true
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt",
]
default-features = false