diff --git a/Cargo.toml b/Cargo.toml index 006b958..264ebb4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,11 @@ edition = "2018" [dependencies] rand = "0.8.0" -rocket = "0.4.6" -rocket_contrib = { version = "0.4.6", features = ["tera_templates"] } +rocket = "0.5.0-rc.1" tree_magic = "0.2.3" +syntect = "4.5.0" + +[dependencies.rocket_dyn_templates] +version = "0.1.0-rc.1" +features = ["tera"] diff --git a/src/main.rs b/src/main.rs index a0a74b3..ab193f1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,8 @@ -#![feature(proc_macro_hygiene, decl_macro)] #[macro_use] extern crate rocket; +use rocket::data::{Data, ToByteUnit}; +use rocket::{form::Form, response::Redirect}; +use rocket_dyn_templates::Template; extern crate tree_magic; @@ -8,32 +10,51 @@ use std::collections::HashMap; use std::env; use std::fs; use std::fs::File; -use std::io::prelude::*; use std::path::Path; -use rocket::request::Form; -use rocket::response::Redirect; -use rocket::Data; -use rocket_contrib::templates::Template; - mod paste_id; +mod pretty; +mod pretty_syntax; use paste_id::PasteId; +use pretty::get_pretty_body; +use pretty_syntax::PasteIdSyntax; + +#[get("/p/", rank = 1)] +async fn pretty_retrieve_ext(id_ext: PasteIdSyntax<'_>) -> Option