More fullstack fixes (#4737)
* allow `--server` only builds! * rollback example * capture `/:route` routes * fix: properly implement file uploads in forms * implement desktop form uploads * Performant serialization of form bytes * finish up file stuff * cleanups * add request headers to streaming context * remove some unwraps
This commit is contained in:
1 parent
fc01a002fd
commit
92792aded9
47 files changed
+1241
-703
No files matched your search
@@ -52,11 +52,14 @@ fn app() -> Element {
|
||||
#[post("/api/upload-multipart")]
|
||||
async fn upload(mut form: MultipartFormData) -> Result<()> {
|
||||
while let Ok(Some(field)) = form.next_field().await {
|
||||
let name = field.name().unwrap_or("<none>").to_string();
|
||||
let file_name = field.file_name().unwrap_or("<none>").to_string();
|
||||
let content_type = field.content_type().unwrap_or("<none>").to_string();
|
||||
let size = field.bytes().await.unwrap().len();
|
||||
|
||||
info!(
|
||||
"Field name: {:?}, filename: {:?}, content_type: {:?}",
|
||||
field.name().to_owned(),
|
||||
field.file_name(),
|
||||
field.content_type(),
|
||||
"Field name: {:?}, filename: {:?}, content_type: {:?}, size: {:?}",
|
||||
name, file_name, content_type, size
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ Option 1:
|
||||
For simple, synchronous, thread-safe data, we can use statics with atomic types or mutexes.
|
||||
The `LazyLock` type from the standard library is a great choice for simple, synchronous data
|
||||
*/
|
||||
#[cfg(feature = "server")]
|
||||
static MESSAGES: LazyLock<Mutex<Vec<String>>> = LazyLock::new(|| Mutex::new(Vec::new()));
|
||||
|
||||
#[post("/api/messages")]
|
||||
|
||||
Reference in new issue
Block a user