1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-12-04 20:11:55 +01:00
actix-extras/actix-protobuf
John Vandenberg 48646d1bd3
build(deps): update derive_more to v1.0 (#458)
* build(deps): update derive_more to v1.0

* chore: remove overspecified deps

* chore: use from the derive module

* chore: restore unrelated version reqs

---------

Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-08-18 14:21:56 +00:00
..
src build(deps): update derive_more to v1.0 (#458) 2024-08-18 14:21:56 +00:00
Cargo.toml build(deps): update derive_more to v1.0 (#458) 2024-08-18 14:21:56 +00:00
CHANGES.md build(deps): update prost requirement from 0.12 to 0.13 (#450) 2024-07-20 05:16:26 +00:00
LICENSE-APACHE merge project metadata 2020-01-30 00:31:25 +00:00
LICENSE-MIT merge project metadata 2020-01-30 00:31:25 +00:00
README.md build(deps): update prost requirement from 0.12 to 0.13 (#450) 2024-07-20 05:16:26 +00:00

actix-protobuf

Protobuf payload extractor for Actix Web.

crates.io Documentation Apache 2.0 or MIT licensed Dependency Status

Documentation & Resources

Example

use actix_protobuf::*;
use actix_web::*;

#[derive(Clone, PartialEq, Message)]
pub struct MyObj {
    #[prost(int32, tag = "1")]
    pub number: i32,

    #[prost(string, tag = "2")]
    pub name: String,
}

async fn index(msg: ProtoBuf<MyObj>) -> Result<HttpResponse> {
    println!("model: {:?}", msg);
    HttpResponse::Ok().protobuf(msg.0) // <- send response
}

See here for the complete example.

License

This project is licensed under either of

at your option.