Skip to content

aalhitennf/actix-bincode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

actix-bincode

crates.io dependency status

Bincode payload extractor for Actix Web

NOTICE: This crate uses Bincode version 2.0.0-rc.3

Example

use actix_bincode::Bincode;
use bincode::{Decode, Encode};

#[derive(Decode, Encode)]
pub struct Object {
    pub num: i32,
    pub text: String,
}

async fn index(object: Bincode<Object>) -> HttpResponse {
    println!("num: {}", object.num);
    println!("text: {}", object.text);
    let config = bincode::config::standard();
    let body = bincode::encode_to_vec(object.into_inner(), config).unwrap();
    HttpResponse::Ok().body(body)
}

Serde example

use actix_bincode::BincodeSerde;
use serde::{Deserialize, Serialize};

#[derive(Deserialize, Serialize)]
pub struct Object {
    pub num: i32,
    pub text: String,
}

async fn index(object: BincodeSerde<Object>) -> HttpResponse {
    println!("num: {}", object.num);
    println!("text: {}", object.text);
    let config = bincode::config::standard();
    let body = bincode::serde::encode_to_vec(object.into_inner(), config).unwrap();
    HttpResponse::Ok().body(body)
}

Configuring bincode

Extractor tries to read configuration from actix app data, and defaults to standard if none present:

let config = bincode::config::standard().with_big_endian();

let app = App::new().app_data(config);

License

This project is licensed under

About

Bincode extractor for Actix Web

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages