chore: add example for rocket

This commit is contained in:
Dmitriy Pleshevskiy 2019-12-31 08:45:50 +03:00
parent 1904283bf9
commit 4a859281b3
3 changed files with 48 additions and 0 deletions

View file

@ -3,4 +3,5 @@ members = [
"itconfig", "itconfig",
"itconfig_tests", "itconfig_tests",
"examples/diesel", "examples/diesel",
"examples/rocket",
] ]

View file

@ -0,0 +1,11 @@
[package]
name = "rocket"
version = "0.1.0"
authors = ["Dmitriy Pleshevskiy <dmitriy@ideascup.me>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rocket = "0.4.2"
itconfig = { path = '../../itconfig' }

View file

@ -0,0 +1,36 @@
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use]
extern crate rocket;
#[macro_use]
extern crate itconfig;
use rocket::config::{Config, Environment};
config! {
ROCKET {
HOST: String => "localhost".to_string(),
PORT: u16 => 8000,
BASE_URL: String => "/".to_string(),
}
}
#[get("/")]
fn index() -> &'static str {
"Hello, world!"
}
fn main() {
cfg::init();
let config = Config::build(Environment::Staging)
.address(cfg::ROCKET::HOST())
.port(cfg::ROCKET::PORT())
.finalize()
.unwrap();
rocket::custom(config)
.mount(&cfg::ROCKET::BASE_URL(), routes![index])
.launch();
}