Skip to content

Instantly share code, notes, and snippets.

View vsilent's full-sized avatar
🎯
Building community around try.direct , docker-compose deployments.

Vasili Pascal vsilent

🎯
Building community around try.direct , docker-compose deployments.
View GitHub Profile
@vsilent
vsilent / main.rs
Created April 12, 2023 10:26
Upload function
use std::collections::HashMap;
use bytes::BufMut;
use futures::{StreamExt, TryStreamExt};
use std::convert::Infallible;
use std::fs;
use std::path::Path;
use uuid::Uuid;
use warp::{http::StatusCode, http::HeaderMap, multipart::{FormData, Part}, Filter, Rejection, Reply, Stream};
#[tokio::main]
@vsilent
vsilent / main.rs
Created April 12, 2023 10:29
Upload function with error
async fn upload(form: FormData) -> Result<impl Reply, Rejection> {
let parts: Vec<Part> = form.try_collect().await.map_err(|e| {
eprintln!("form error: {}", e);
warp::reject::reject()
})?;
let mut response = HashMap::new();
for p in parts {
if p.name() == "file" {
let content_type = p.content_type();