Add more comments
This commit is contained in:
parent
2c1571881e
commit
4fde268117
3 changed files with 21 additions and 2 deletions
|
@ -7,6 +7,8 @@ use syntect::html::{styled_line_to_highlighted_html, IncludeBackground};
|
||||||
|
|
||||||
/// Takes the content of a paste and the extension passed in by the viewer and will return the content
|
/// Takes the content of a paste and the extension passed in by the viewer and will return the content
|
||||||
/// highlighted in the appropriate format in HTML.
|
/// highlighted in the appropriate format in HTML.
|
||||||
|
///
|
||||||
|
/// Returns `None` if the extension isn't supported.
|
||||||
pub fn highlight(content: &str, ext: &str) -> Option<String> {
|
pub fn highlight(content: &str, ext: &str) -> Option<String> {
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
static ref SS: SyntaxSet = SyntaxSet::load_defaults_newlines();
|
static ref SS: SyntaxSet = SyntaxSet::load_defaults_newlines();
|
||||||
|
|
|
@ -13,6 +13,8 @@ lazy_static! {
|
||||||
|
|
||||||
/// Ensures `ENTRIES` is less than the size of `BIN_BUFFER_SIZE`. If it isn't then
|
/// Ensures `ENTRIES` is less than the size of `BIN_BUFFER_SIZE`. If it isn't then
|
||||||
/// `ENTRIES.len() - BIN_BUFFER_SIZE` elements will be popped off the front of the map.
|
/// `ENTRIES.len() - BIN_BUFFER_SIZE` elements will be popped off the front of the map.
|
||||||
|
///
|
||||||
|
/// During the purge, `ENTRIES` is locked and the current thread will block.
|
||||||
fn purge_old() {
|
fn purge_old() {
|
||||||
let entries_len = ENTRIES.read().unwrap().len();
|
let entries_len = ENTRIES.read().unwrap().len();
|
||||||
let buffer_size = env::var("BIN_BUFFER_SIZE").map(|f| f.parse::<usize>().unwrap()).unwrap_or(1000usize);
|
let buffer_size = env::var("BIN_BUFFER_SIZE").map(|f| f.parse::<usize>().unwrap()).unwrap_or(1000usize);
|
||||||
|
@ -29,6 +31,8 @@ fn purge_old() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Generates a randomly generated id, stores the given paste under that id and then returns the id.
|
/// Generates a randomly generated id, stores the given paste under that id and then returns the id.
|
||||||
|
///
|
||||||
|
/// Uses gpw to generate a (most likely) pronounceable URL.
|
||||||
pub fn store_paste(content: String) -> String {
|
pub fn store_paste(content: String) -> String {
|
||||||
thread_local!(static KEYGEN: RefCell<gpw::PasswordGenerator> = RefCell::new(gpw::PasswordGenerator::default()));
|
thread_local!(static KEYGEN: RefCell<gpw::PasswordGenerator> = RefCell::new(gpw::PasswordGenerator::default()));
|
||||||
let id = KEYGEN.with(|k| k.borrow_mut().next().unwrap());
|
let id = KEYGEN.with(|k| k.borrow_mut().next().unwrap());
|
||||||
|
@ -39,7 +43,9 @@ pub fn store_paste(content: String) -> String {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get a paste by id. Returns `None` if the paste doesn't exist.
|
/// Get a paste by id.
|
||||||
|
///
|
||||||
|
/// Returns `None` if the paste doesn't exist.
|
||||||
pub fn get_paste(id: &str) -> Option<String> {
|
pub fn get_paste(id: &str) -> Option<String> {
|
||||||
ENTRIES.read().unwrap().get(id).cloned()
|
ENTRIES.read().unwrap().get(id).cloned()
|
||||||
}
|
}
|
13
src/main.rs
13
src/main.rs
|
@ -1,5 +1,4 @@
|
||||||
#![feature(proc_macro_hygiene, decl_macro)]
|
#![feature(proc_macro_hygiene, decl_macro)]
|
||||||
#![feature(uniform_paths)]
|
|
||||||
#![feature(type_alias_enum_variants)]
|
#![feature(type_alias_enum_variants)]
|
||||||
|
|
||||||
#[macro_use] extern crate lazy_static;
|
#[macro_use] extern crate lazy_static;
|
||||||
|
@ -28,6 +27,10 @@ use rocket::http::ContentType;
|
||||||
|
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Homepage
|
||||||
|
///
|
||||||
|
|
||||||
#[derive(Template)]
|
#[derive(Template)]
|
||||||
#[template(path = "index.html")]
|
#[template(path = "index.html")]
|
||||||
struct Index {}
|
struct Index {}
|
||||||
|
@ -38,6 +41,10 @@ fn index() -> Index {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Submit Paste
|
||||||
|
///
|
||||||
|
|
||||||
#[derive(FromForm)]
|
#[derive(FromForm)]
|
||||||
struct IndexForm {
|
struct IndexForm {
|
||||||
val: String
|
val: String
|
||||||
|
@ -63,6 +70,10 @@ fn submit_raw(input: Data, host: HostHeader) -> std::io::Result<String> {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Show paste page
|
||||||
|
///
|
||||||
|
|
||||||
#[derive(Template)]
|
#[derive(Template)]
|
||||||
#[template(path = "paste.html")]
|
#[template(path = "paste.html")]
|
||||||
struct Render {
|
struct Render {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue