#rocket #derive #macro-derive #macro

macro rocket_extra_codegen

Additional macros for rocket.rs

1 unstable release

0.1.0 Feb 7, 2019
0.0.0 Feb 4, 2019

#182 in #rocket

25 downloads per month

MIT license

7KB
104 lines

Additional macros for rocket.rs

Derive FromRequest

use rocket_extra_codegen::FromRequest;

#[derive(FromRequest)]
struct BookingService {
    db_conn: DbConnection,
    queue_conn: QueueConnection,
    user: AuthUser,
}

The errors of the individual fields will be converted via the From trait to a common target error type. The target error type defaults to () but can be overridden manually:

use rocket_extra_codegen::FromRequest;

#[derive(FromRequest)]
#[error_type = "MyError"]
struct BookingService {
    db_conn: DbConnection,
    queue_conn: QueueConnection,
    user: AuthUser,
}

Dependencies

~2MB
~47K SLoC