1
0
Fork 0
mirror of https://codeberg.org/icewind/shelve.git synced 2026-06-03 12:04:09 +02:00

bumb dependencies

This commit is contained in:
Robin Appelman 2022-06-07 19:59:37 +02:00
commit 68debaf975
4 changed files with 605 additions and 490 deletions

1071
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -7,13 +7,13 @@ license = "MIT OR Apache-2.0"
[dependencies] [dependencies]
rocket = "0.5.0-rc.1" rocket = "0.5.0-rc.1"
priority-queue = "1" priority-queue = "1.2.1"
dotenv = "0.15" dotenv = "0.15.0"
err-derive = "0.3" err-derive = "0.3.1"
rand = "0.8" rand = "0.8.5"
uuid = { version = "0.8", features = ["serde", "v4"] } uuid = { version = "1.1", features = ["serde", "v4"] }
rust-embed = "5" rust-embed = "6.4"
serde = "1" serde = "1.0.136"
serde_json = "1" serde_json = "1.0.79"
async-trait = "0.1" async-trait = "0.1.53"
futures-util = { version = "0.3" } futures-util = { version = "0.3.21" }

View file

@ -34,7 +34,7 @@ impl UploadId {
let mut uuid_bytes = *Builder::from_bytes(bytes) let mut uuid_bytes = *Builder::from_bytes(bytes)
.set_variant(Variant::RFC4122) .set_variant(Variant::RFC4122)
.set_version(Version::Random) .set_version(Version::Random)
.build() .as_uuid()
.as_bytes(); .as_bytes();
// store the expire time in the top 7 bytes of the uuid // store the expire time in the top 7 bytes of the uuid
@ -65,13 +65,13 @@ impl UploadId {
} }
pub fn as_string(&self) -> String { pub fn as_string(&self) -> String {
format!("{}", self.0.to_simple()) format!("{}", self.0.as_simple())
} }
} }
impl Display for UploadId { impl Display for UploadId {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
Display::fmt(&self.0.to_simple(), f) Display::fmt(&self.0.as_simple(), f)
} }
} }

View file

@ -6,9 +6,9 @@ use rocket::data::{Limits, ToByteUnit};
use rocket::form::Form; use rocket::form::Form;
use rocket::fs::{FileName, NamedFile, TempFile}; use rocket::fs::{FileName, NamedFile, TempFile};
use rocket::request::FromParam; use rocket::request::FromParam;
use rocket::response::Redirect; use rocket::response::{Redirect, Responder};
use rocket::{get, launch, post, put, routes, Config, Data, FromForm, Responder, State}; use rocket::{get, launch, post, put, routes, Config, Data, FromForm, Request, State};
use rust_embed::RustEmbed; use rust_embed::{EmbeddedFile, RustEmbed};
use serde::Serialize; use serde::Serialize;
use std::borrow::Cow; use std::borrow::Cow;
use std::collections::HashMap; use std::collections::HashMap;
@ -34,22 +34,38 @@ impl<'r> FromParam<'r> for UploadId {
#[folder = "templates/"] #[folder = "templates/"]
struct Templates; struct Templates;
struct FileResponse(EmbeddedFile);
impl<'r, 'o: 'r> Responder<'r, 'o> for FileResponse {
fn respond_to(self, request: &'r Request<'_>) -> rocket::response::Result<'o> {
self.0.data.respond_to(request)
}
}
#[derive(Responder)] #[derive(Responder)]
#[response(content_type = "html")] #[response(content_type = "html")]
struct HtmlResponse(Cow<'static, [u8]>); struct HtmlResponse(FileResponse);
#[get("/")] #[get("/")]
fn home() -> HtmlResponse { fn home() -> HtmlResponse {
HtmlResponse(Templates::get("index.html").unwrap_or(Cow::Borrowed(b"Template not found"))) HtmlResponse(
Templates::get("index.html")
.map(FileResponse)
.expect("Template not found"),
)
} }
#[derive(Responder)] #[derive(Responder)]
#[response(content_type = "image/svg+xml")] #[response(content_type = "image/svg+xml")]
struct SvgResponse(Cow<'static, [u8]>); struct SvgResponse(FileResponse);
#[get("/icon.svg")] #[get("/icon.svg")]
fn icon() -> SvgResponse { fn icon() -> SvgResponse {
SvgResponse(Templates::get("icon.svg").unwrap_or(Cow::Borrowed(b"Template not found"))) SvgResponse(
Templates::get("icon.svg")
.map(FileResponse)
.expect("Template not found"),
)
} }
fn now() -> u64 { fn now() -> u64 {