#forms #macro-derive #actix #derive #macro #multipart-form #multipart

actix-multipart-derive-impl

为actix-multipart-derive提供过程宏实现

1 个不稳定发布

0.1.0 2020年11月9日

#35#multipart-form

MIT/Apache

8KB
142

actix-multipart-derive

WIP过程宏包装actix-multipart,以便更容易地消费表单

目标

消费表单应该是表达性的,同时保持其底层的流式实现。

use actix_multipart_derive::MultipartForm;
use actix_web::{post, web::BytesMut, App, HttpServer};

#[derive(Debug, Clone, Default, MultipartForm)]
struct Form {
    name: String,

    #[multipart(max_size = 1024)]
    file: BytesMut,
}

#[post("/")]
async fn index(form: Form) -> &'static str {
    println!("{:?}", &form);

    "Hello world!\r\n"
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| App::new().service(index))
        .bind("127.0.0.1:8080")?
        .workers(1)
        .run()
        .await
}

依赖关系

~1.5MB
~35K SLoC