From 08c09aaa055c05228855eed8cded9fdfe4939c0f Mon Sep 17 00:00:00 2001 From: Vika Date: Tue, 4 May 2021 17:05:51 +0300 Subject: Initial commit Working features: - Sending posts from the database - Reading posts from the database - Responding with MF2-JSON (only in debug mode!) - Not locking the database when not needed - All database actions are atomic (except for a small race where UIDs can clash, but that's not gonna happen often) TODOs: - Send webmentions - Send syndication requests - Send WebSub notifications - Make tombstones for deleted posts (update adding dt-deleted) - Rich reply contexts (possibly on the frontend part?) - Frontend? - Fix UID race Code maintenance TODOs: - Split the database module - Finish implementing the in-memory test database - Make RedisDatabase unit tests launch their own Redis instances (see redis-rs/tests/support/mod.rs for more info) - Write more unit-tests!!! --- Cargo.toml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Cargo.toml (limited to 'Cargo.toml') diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..66d3526 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,40 @@ +[package] +name = "kittybox_micropub" +version = "0.1.0" +authors = ["Vika "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dev-dependencies] +tide-testing = "0.1.3" # tide testing helper +mockito = "0.30.0" # HTTP mocking for Rust. +serde_urlencoded = "0.7.0" + +[dependencies] +# Redis driver for Rust. +redis = { version = "0.20.0", features = ["aio", "async-std-comp", "r2d2"] } +# A generic serialization/deserialization framework +serde = { version = "1.0.125", features = ["derive"] } +# Date and time library for Rust +chrono = { version = "0.4.19", features = ["serde"] } +# URL library for Rust, based on the WHATWG URL Standard +url = { version = "2.2.1", features = ["serde"] } +# Async version of the Rust standard library +async-std = { version = "1.9.0", features = ["attributes"] } +lazy_static = "1.4.0" # A macro for declaring lazily evaluated statics in Rust. +async-trait = "0.1.50" # Type erasure for async trait methods +env_logger = "0.8.3" # A logging implementation for `log` which is configured via an environment variable. +futures = "0.3.14" # An implementation of futures and streams +futures-util = "0.3.14" # Common utilities and extension traits for the futures-rs library. +http-types = "2.11.0" # Common types for HTTP operations. +log = "0.4.14" # A lightweight logging facade for Rust +serde_json = "1.0.64" # A JSON serialization file format +surf = "2.2.0" # Surf the web - HTTP client framework +tide = "0.16.0" # A minimal and pragmatic Rust web application framework built for rapid development +newbase60 = "0.1.3" # A library that implements Tantek Çelik's New Base 60 +markdown = "0.3.0" # Native Rust library for parsing Markdown and (outputting HTML) +easy-scraper = "0.2.0" # HTML scraping library focused on ease of use +serde_urlencoded = "0.7.0" # `x-www-form-urlencoded` meets Serde +mobc-redis = "0.7.0" # Redis support for the mobc connection pool +mobc = "0.7.2" # A generic connection pool with async/await support -- cgit 1.4.1