├── README.md ├── src ├── read_schema.rs ├── infrastructure │ ├── models │ │ ├── mod.rs │ │ └── write │ │ │ ├── mod.rs │ │ │ └── new_user.rs │ ├── repository │ │ ├── mod.rs │ │ ├── connection_manager.rs │ │ └── user_repository.rs │ ├── mod.rs │ ├── api │ │ ├── mod.rs │ │ └── user_controller.rs │ └── event_bus │ │ ├── mod.rs │ │ └── register.rs ├── application │ ├── mod.rs │ ├── command │ │ ├── mod.rs │ │ ├── register_user_command.rs │ │ └── register_user_handler.rs │ └── event │ │ ├── mod.rs │ │ ├── registered_user_listener.rs │ │ └── registered_user_event.rs ├── domain │ ├── mod.rs │ ├── user_repository.rs │ └── user.rs ├── write_schema.rs └── main.rs ├── .gitignore ├── diesel-read.toml ├── diesel-write.toml ├── migrations ├── write │ ├── 2019-03-15-224709_create_users │ │ ├── down.sql │ │ └── up.sql │ └── 00000000000000_diesel_initial_setup │ │ ├── down.sql │ │ └── up.sql └── read │ └── 00000000000000_diesel_initial_setup │ ├── down.sql │ └── up.sql ├── Rocket.toml ├── .env ├── scripts ├── db-connect.sh └── db-migration.sh ├── Cargo.toml ├── docker-compose.yml └── Cargo.lock /README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/read_schema.rs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | -------------------------------------------------------------------------------- /src/infrastructure/models/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod write; -------------------------------------------------------------------------------- /src/infrastructure/models/write/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod new_user; -------------------------------------------------------------------------------- /diesel-read.toml: -------------------------------------------------------------------------------- 1 | [print_schema] 2 | file = "src/read_schema.rs" -------------------------------------------------------------------------------- /src/application/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod command; 2 | pub mod event; 3 | -------------------------------------------------------------------------------- /diesel-write.toml: -------------------------------------------------------------------------------- 1 | [print_schema] 2 | file = "src/write_schema.rs" -------------------------------------------------------------------------------- /src/domain/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod user_repository; 2 | pub mod user; 3 | -------------------------------------------------------------------------------- /migrations/write/2019-03-15-224709_create_users/down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE users; -------------------------------------------------------------------------------- /src/infrastructure/repository/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod user_repository; 2 | pub mod connection_manager; -------------------------------------------------------------------------------- /src/application/command/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod register_user_command; 2 | pub mod register_user_handler; -------------------------------------------------------------------------------- /src/infrastructure/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod repository; 2 | pub mod api; 3 | pub mod models; 4 | pub mod event_bus; -------------------------------------------------------------------------------- /Rocket.toml: -------------------------------------------------------------------------------- 1 | [development] 2 | address = "127.0.0.1" 3 | port = 3000 4 | keep_alive = 5 5 | log = "normal" 6 | limits = { forms = 32768 } -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | DATABASE_URL_WRITE=postgres://developer:developer@localhost:5432/cqrs_example_write 2 | DATABASE_URL_READ=postgres://developer:developer@localhost:5433/cqrs_example_read 3 | -------------------------------------------------------------------------------- /src/application/event/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod registered_user_event; 2 | pub mod registered_user_listener; 3 | 4 | #[derive(PartialEq)] 5 | pub enum Event { 6 | RegisteredUser 7 | } -------------------------------------------------------------------------------- /src/infrastructure/api/mod.rs: -------------------------------------------------------------------------------- 1 | mod user_controller; 2 | 3 | pub fn user_routes() -> Vec { 4 | routes![ 5 | user_controller::register 6 | ] 7 | } -------------------------------------------------------------------------------- /src/infrastructure/event_bus/mod.rs: -------------------------------------------------------------------------------- 1 | use eventbus::EventBus as EB; 2 | 3 | pub mod register; 4 | 5 | lazy_static! { 6 | pub static ref EVENT_BUS: EB = EB::new(); 7 | } 8 | -------------------------------------------------------------------------------- /scripts/db-connect.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . .env 4 | 5 | dbtype=$1 6 | 7 | if [ $dbtype = "read" ] 8 | then 9 | connection=$DATABASE_URL_READ 10 | else 11 | connection=$DATABASE_URL_WRITE 12 | fi 13 | 14 | psql "$connection" -------------------------------------------------------------------------------- /src/application/event/registered_user_listener.rs: -------------------------------------------------------------------------------- 1 | use crate::application::event::registered_user_event::RegisteredUserEvent; 2 | 3 | pub fn execute(event: &mut RegisteredUserEvent) -> () { 4 | println!("event -> {:?}", event); 5 | } 6 | -------------------------------------------------------------------------------- /src/domain/user_repository.rs: -------------------------------------------------------------------------------- 1 | use crate::infrastructure::models::write::new_user::NewUser; 2 | use crate::domain::user::User; 3 | 4 | pub trait UserRepository { 5 | fn new() -> Self; 6 | fn add(&self, new_user: NewUser) -> User; 7 | } 8 | -------------------------------------------------------------------------------- /src/infrastructure/models/write/new_user.rs: -------------------------------------------------------------------------------- 1 | use crate::write_schema::users; 2 | 3 | #[derive(Insertable)] 4 | #[table_name="users"] 5 | pub struct NewUser { 6 | pub first_name: String, 7 | pub last_name: String, 8 | pub email: String, 9 | } -------------------------------------------------------------------------------- /src/write_schema.rs: -------------------------------------------------------------------------------- 1 | table! { 2 | users (id) { 3 | id -> Uuid, 4 | first_name -> Nullable, 5 | last_name -> Nullable, 6 | email -> Nullable, 7 | created_at -> Timestamp, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /migrations/write/2019-03-15-224709_create_users/up.sql: -------------------------------------------------------------------------------- 1 | CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; 2 | CREATE TABLE users ( 3 | id uuid PRIMARY KEY DEFAULT uuid_generate_v4(), 4 | first_name varchar(255), 5 | last_name varchar(255), 6 | email varchar(255), 7 | created_at TIMESTAMP NOT NULL DEFAULT NOW() 8 | ); -------------------------------------------------------------------------------- /src/application/event/registered_user_event.rs: -------------------------------------------------------------------------------- 1 | use eventbus::{Event}; 2 | 3 | #[derive(Serialize, Deserialize)] 4 | #[derive(Debug)] 5 | pub struct RegisteredUserEvent { 6 | pub first_name: String, 7 | pub last_name: String, 8 | pub email: String, 9 | } 10 | 11 | impl Event for RegisteredUserEvent { 12 | } 13 | -------------------------------------------------------------------------------- /src/infrastructure/event_bus/register.rs: -------------------------------------------------------------------------------- 1 | use super::EVENT_BUS; 2 | use crate::application::event::registered_user_event::RegisteredUserEvent; 3 | use crate::application::event::registered_user_listener; 4 | 5 | 6 | pub fn register_events() { 7 | register_hook!(&EVENT_BUS, 0, RegisteredUserEvent, registered_user_listener::execute); 8 | } -------------------------------------------------------------------------------- /migrations/read/00000000000000_diesel_initial_setup/down.sql: -------------------------------------------------------------------------------- 1 | -- This file was automatically created by Diesel to setup helper functions 2 | -- and other internal bookkeeping. This file is safe to edit, any future 3 | -- changes will be added to existing projects as new migrations. 4 | 5 | DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass); 6 | DROP FUNCTION IF EXISTS diesel_set_updated_at(); 7 | -------------------------------------------------------------------------------- /migrations/write/00000000000000_diesel_initial_setup/down.sql: -------------------------------------------------------------------------------- 1 | -- This file was automatically created by Diesel to setup helper functions 2 | -- and other internal bookkeeping. This file is safe to edit, any future 3 | -- changes will be added to existing projects as new migrations. 4 | 5 | DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass); 6 | DROP FUNCTION IF EXISTS diesel_set_updated_at(); 7 | -------------------------------------------------------------------------------- /scripts/db-migration.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . .env 4 | 5 | cmd=$1 6 | dbtype=$2 7 | 8 | if [ $dbtype = "read" ] 9 | then 10 | connection=$DATABASE_URL_READ 11 | else 12 | connection=$DATABASE_URL_WRITE 13 | fi 14 | 15 | diesel migration $cmd \ 16 | --database-url $connection \ 17 | --migration-dir migrations/$dbtype \ 18 | --config-file diesel-$dbtype.toml 19 | 20 | echo "migration $cmd, db: $dbtype - Ok!" -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "cqrs-implementation" 3 | version = "0.1.0" 4 | authors = ["Kacper Perzankowski "] 5 | edition = "2018" 6 | 7 | [dependencies] 8 | rocket = "0.4.0" 9 | serde = "1.0" 10 | serde_json = "1.0" 11 | serde_derive = "1.0" 12 | rocket_contrib = "0.4.0" 13 | diesel = { version = "1.4.1", features = ["postgres", "uuid"] } 14 | dotenv = "0.13.0" 15 | eventbus = "0.5.1" 16 | lazy_static = "1.3.0" 17 | uuid = "0.6" -------------------------------------------------------------------------------- /src/infrastructure/api/user_controller.rs: -------------------------------------------------------------------------------- 1 | use rocket::http::Status; 2 | use rocket_contrib::json::Json; 3 | 4 | use crate::application::command::register_user_command::RegisterUserCommand; 5 | use crate::application::command::register_user_handler::RegisterUserCommandHandler; 6 | 7 | #[post("/register", format = "application/json", data = "")] 8 | pub fn register(data: Json) -> Status { 9 | let command = RegisterUserCommand::new( 10 | data.first_name().clone(), 11 | data.last_name().clone(), 12 | data.email().clone(), 13 | ); 14 | RegisterUserCommandHandler::new().handle(command); 15 | Status::Ok 16 | } 17 | -------------------------------------------------------------------------------- /src/application/command/register_user_command.rs: -------------------------------------------------------------------------------- 1 | #[derive(Serialize, Deserialize)] 2 | pub struct RegisterUserCommand { 3 | first_name: String, 4 | last_name: String, 5 | email: String, 6 | } 7 | 8 | impl RegisterUserCommand { 9 | pub fn new(first_name: String, last_name: String, email: String) -> RegisterUserCommand { 10 | RegisterUserCommand { 11 | first_name: first_name, 12 | last_name: last_name, 13 | email: email, 14 | } 15 | } 16 | 17 | pub fn first_name(&self) -> &String { 18 | &self.first_name 19 | } 20 | 21 | pub fn last_name(&self) -> &String { 22 | &self.last_name 23 | } 24 | 25 | pub fn email(&self) -> &String { 26 | &self.email 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/infrastructure/repository/connection_manager.rs: -------------------------------------------------------------------------------- 1 | use diesel::prelude::*; 2 | use diesel::pg::PgConnection; 3 | use dotenv::dotenv; 4 | use std::env; 5 | 6 | pub struct ConnectionManager { 7 | pub connection_write: PgConnection, 8 | pub connection_read: PgConnection, 9 | } 10 | 11 | impl ConnectionManager { 12 | pub fn new() -> Self { 13 | dotenv().ok(); 14 | let database_url_write = env::var("DATABASE_URL_WRITE").expect("DATABASE_URL_WRITE must be set"); 15 | let database_url_read = env::var("DATABASE_URL_READ").expect("DATABASE_URL_READ must be set"); 16 | 17 | ConnectionManager { 18 | connection_write: PgConnection::establish(&database_url_write).expect(&format!("Error connecting to {}", database_url_write)), 19 | connection_read: PgConnection::establish(&database_url_read).expect(&format!("Error connecting to {}", database_url_read)), 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /src/infrastructure/repository/user_repository.rs: -------------------------------------------------------------------------------- 1 | use diesel::RunQueryDsl; 2 | 3 | use crate::domain::user::User; 4 | use crate::domain::user_repository::UserRepository; 5 | use crate::infrastructure::models::write::new_user::NewUser; 6 | use crate::infrastructure::repository::connection_manager::ConnectionManager; 7 | use crate::write_schema::users; 8 | 9 | pub struct ORMUserRepository { 10 | connection_manager: ConnectionManager, 11 | } 12 | 13 | impl UserRepository for ORMUserRepository { 14 | fn new() -> Self { 15 | ORMUserRepository { 16 | connection_manager: ConnectionManager::new(), 17 | } 18 | } 19 | 20 | fn add(&self, new_user: NewUser) -> User { 21 | let conn = &self.connection_manager.connection_write; 22 | diesel::insert_into(users::table) 23 | .values(&new_user) 24 | .get_result::(conn) 25 | .expect("Error saving User") 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | # cqrs_example_api: 4 | # container_name: cqrs_example_api 5 | # build: . 6 | # volumes: 7 | # - .:/usr/src/app 8 | # command: cargo watch -x run 9 | # ports: 10 | # - "3000:3000" 11 | # depends_on: 12 | # - cqrs_example_postgres_write 13 | # - cqrs_example_postgres_read 14 | 15 | cqrs_example_postgres_write: 16 | container_name: cqrs_example_postgres_write 17 | image: postgres:9.6 18 | ports: 19 | - "5432:5432" 20 | environment: 21 | POSTGRES_USER: developer 22 | POSTGRES_PASSWORD: developer 23 | POSTGRES_DB: cqrs_example_write 24 | 25 | cqrs_example_postgres_read: 26 | container_name: cqrs_example_postgres_read 27 | image: postgres:9.6 28 | ports: 29 | - "5433:5432" 30 | environment: 31 | POSTGRES_USER: developer 32 | POSTGRES_PASSWORD: developer 33 | POSTGRES_DB: cqrs_example_read -------------------------------------------------------------------------------- /src/application/command/register_user_handler.rs: -------------------------------------------------------------------------------- 1 | use crate::application::command::register_user_command::RegisterUserCommand; 2 | use crate::domain::user_repository::UserRepository; 3 | use crate::infrastructure::models::write::new_user::NewUser; 4 | use crate::infrastructure::repository::user_repository::ORMUserRepository; 5 | 6 | pub struct RegisterUserCommandHandler { 7 | user_repository: ORMUserRepository, 8 | } 9 | 10 | impl RegisterUserCommandHandler { 11 | pub fn new() -> RegisterUserCommandHandler { 12 | RegisterUserCommandHandler { 13 | user_repository: ORMUserRepository::new(), 14 | } 15 | } 16 | 17 | pub fn handle(&self, command: RegisterUserCommand) -> () { 18 | let user = NewUser { 19 | first_name: command.first_name().clone(), 20 | last_name: command.last_name().clone(), 21 | email: command.email().clone(), 22 | }; 23 | let added_user = self.user_repository.add(user); 24 | added_user.register_user(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #![feature(proc_macro_hygiene, decl_macro)] 2 | extern crate rocket_contrib; 3 | #[macro_use] 4 | extern crate serde_derive; 5 | #[macro_use] 6 | extern crate rocket; 7 | #[macro_use] 8 | extern crate diesel; 9 | extern crate dotenv; 10 | #[macro_use] 11 | extern crate eventbus; 12 | #[macro_use] 13 | extern crate lazy_static; 14 | 15 | pub mod application; 16 | pub mod domain; 17 | pub mod infrastructure; 18 | pub mod read_schema; 19 | pub mod write_schema; 20 | 21 | // #[derive(Debug)] 22 | // struct MyEvent { 23 | // i: i32 24 | // } 25 | 26 | // impl Event for MyEvent {} 27 | 28 | // fn add_handler(e: &mut MyEvent) { 29 | // println!("{:?}", e); 30 | // } 31 | 32 | // let event_bus = EventBus::new(); 33 | // register_hook!(&event_bus, 0, MyEvent, add_handler); 34 | 35 | // let mut event = MyEvent { i: 3 }; 36 | 37 | // post_event!(&event_bus, &mut event, MyEvent); 38 | 39 | fn main() { 40 | infrastructure::event_bus::register::register_events(); 41 | 42 | rocket::ignite() 43 | .mount("/users/c/", infrastructure::api::user_routes()) 44 | .launch(); 45 | } 46 | -------------------------------------------------------------------------------- /migrations/write/00000000000000_diesel_initial_setup/up.sql: -------------------------------------------------------------------------------- 1 | -- This file was automatically created by Diesel to setup helper functions 2 | -- and other internal bookkeeping. This file is safe to edit, any future 3 | -- changes will be added to existing projects as new migrations. 4 | 5 | 6 | 7 | 8 | -- Sets up a trigger for the given table to automatically set a column called 9 | -- `updated_at` whenever the row is modified (unless `updated_at` was included 10 | -- in the modified columns) 11 | -- 12 | -- # Example 13 | -- 14 | -- ```sql 15 | -- CREATE TABLE users (id SERIAL PRIMARY KEY, updated_at TIMESTAMP NOT NULL DEFAULT NOW()); 16 | -- 17 | -- SELECT diesel_manage_updated_at('users'); 18 | -- ``` 19 | CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$ 20 | BEGIN 21 | EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s 22 | FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl); 23 | END; 24 | $$ LANGUAGE plpgsql; 25 | 26 | CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ 27 | BEGIN 28 | IF ( 29 | NEW IS DISTINCT FROM OLD AND 30 | NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at 31 | ) THEN 32 | NEW.updated_at := current_timestamp; 33 | END IF; 34 | RETURN NEW; 35 | END; 36 | $$ LANGUAGE plpgsql; -------------------------------------------------------------------------------- /migrations/read/00000000000000_diesel_initial_setup/up.sql: -------------------------------------------------------------------------------- 1 | -- This file was automatically created by Diesel to setup helper functions 2 | -- and other internal bookkeeping. This file is safe to edit, any future 3 | -- changes will be added to existing projects as new migrations. 4 | 5 | 6 | 7 | 8 | -- Sets up a trigger for the given table to automatically set a column called 9 | -- `updated_at` whenever the row is modified (unless `updated_at` was included 10 | -- in the modified columns) 11 | -- 12 | -- # Example 13 | -- 14 | -- ```sql 15 | -- CREATE TABLE users (id SERIAL PRIMARY KEY, updated_at TIMESTAMP NOT NULL DEFAULT NOW()); 16 | -- 17 | -- SELECT diesel_manage_updated_at('users'); 18 | -- ``` 19 | CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$ 20 | BEGIN 21 | EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s 22 | FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl); 23 | END; 24 | $$ LANGUAGE plpgsql; 25 | 26 | CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ 27 | BEGIN 28 | IF ( 29 | NEW IS DISTINCT FROM OLD AND 30 | NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at 31 | ) THEN 32 | NEW.updated_at := current_timestamp; 33 | END IF; 34 | RETURN NEW; 35 | END; 36 | $$ LANGUAGE plpgsql; 37 | -------------------------------------------------------------------------------- /src/domain/user.rs: -------------------------------------------------------------------------------- 1 | use uuid::Uuid; 2 | use std::time::SystemTime; 3 | use crate::application::event::registered_user_event::RegisteredUserEvent; 4 | use crate::application::event::Event; 5 | use crate::infrastructure::event_bus::EVENT_BUS; 6 | 7 | #[derive(Queryable)] 8 | pub struct User { 9 | id: Uuid, 10 | first_name: Option, 11 | last_name: Option, 12 | email: Option, 13 | created_at: SystemTime, 14 | } 15 | 16 | impl User { 17 | pub fn new( 18 | id: Uuid, 19 | first_name: Option, 20 | last_name: Option, 21 | email: Option, 22 | created_at: SystemTime, 23 | ) -> Self { 24 | Self { 25 | id: id, 26 | first_name: first_name, 27 | last_name: last_name, 28 | email: email, 29 | created_at: created_at, 30 | } 31 | } 32 | 33 | pub fn register_user(&self) -> () { 34 | self.apply(Event::RegisteredUser); 35 | } 36 | 37 | fn apply(&self, event: Event) { 38 | match event { 39 | Event::RegisteredUser => { 40 | let mut data = RegisteredUserEvent { 41 | first_name: self.first_name.clone().unwrap(), 42 | last_name: self.last_name.clone().unwrap(), 43 | email: self.email.clone().unwrap(), 44 | }; 45 | post_event!(&EVENT_BUS, &mut data, RegisteredUserEvent); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "aho-corasick" 5 | version = "0.6.10" 6 | source = "registry+https://github.com/rust-lang/crates.io-index" 7 | dependencies = [ 8 | "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 9 | ] 10 | 11 | [[package]] 12 | name = "anymap" 13 | version = "0.12.1" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | 16 | [[package]] 17 | name = "autocfg" 18 | version = "0.1.2" 19 | source = "registry+https://github.com/rust-lang/crates.io-index" 20 | 21 | [[package]] 22 | name = "backtrace" 23 | version = "0.3.14" 24 | source = "registry+https://github.com/rust-lang/crates.io-index" 25 | dependencies = [ 26 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 27 | "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", 28 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 29 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 30 | "rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", 31 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 32 | ] 33 | 34 | [[package]] 35 | name = "backtrace-sys" 36 | version = "0.1.28" 37 | source = "registry+https://github.com/rust-lang/crates.io-index" 38 | dependencies = [ 39 | "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)", 40 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 41 | ] 42 | 43 | [[package]] 44 | name = "base64" 45 | version = "0.9.3" 46 | source = "registry+https://github.com/rust-lang/crates.io-index" 47 | dependencies = [ 48 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 49 | "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 50 | ] 51 | 52 | [[package]] 53 | name = "base64" 54 | version = "0.10.1" 55 | source = "registry+https://github.com/rust-lang/crates.io-index" 56 | dependencies = [ 57 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 58 | ] 59 | 60 | [[package]] 61 | name = "bitflags" 62 | version = "0.7.0" 63 | source = "registry+https://github.com/rust-lang/crates.io-index" 64 | 65 | [[package]] 66 | name = "bitflags" 67 | version = "1.0.4" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | 70 | [[package]] 71 | name = "byteorder" 72 | version = "1.3.1" 73 | source = "registry+https://github.com/rust-lang/crates.io-index" 74 | 75 | [[package]] 76 | name = "cc" 77 | version = "1.0.31" 78 | source = "registry+https://github.com/rust-lang/crates.io-index" 79 | 80 | [[package]] 81 | name = "cfg-if" 82 | version = "0.1.7" 83 | source = "registry+https://github.com/rust-lang/crates.io-index" 84 | 85 | [[package]] 86 | name = "cookie" 87 | version = "0.11.0" 88 | source = "registry+https://github.com/rust-lang/crates.io-index" 89 | dependencies = [ 90 | "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", 91 | "ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", 92 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", 93 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", 94 | ] 95 | 96 | [[package]] 97 | name = "cqrs-implementation" 98 | version = "0.1.0" 99 | dependencies = [ 100 | "diesel 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 101 | "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", 102 | "eventbus 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 103 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 104 | "rocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 105 | "rocket_contrib 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 106 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", 107 | "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", 108 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", 109 | "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 110 | ] 111 | 112 | [[package]] 113 | name = "devise" 114 | version = "0.2.0" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | dependencies = [ 117 | "devise_codegen 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 118 | "devise_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 119 | ] 120 | 121 | [[package]] 122 | name = "devise_codegen" 123 | version = "0.2.0" 124 | source = "registry+https://github.com/rust-lang/crates.io-index" 125 | dependencies = [ 126 | "devise_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 127 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 128 | ] 129 | 130 | [[package]] 131 | name = "devise_core" 132 | version = "0.2.0" 133 | source = "registry+https://github.com/rust-lang/crates.io-index" 134 | dependencies = [ 135 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 136 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 137 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 138 | "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", 139 | ] 140 | 141 | [[package]] 142 | name = "diesel" 143 | version = "1.4.1" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | dependencies = [ 146 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 147 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 148 | "diesel_derives 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 149 | "pq-sys 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 150 | "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 151 | ] 152 | 153 | [[package]] 154 | name = "diesel_derives" 155 | version = "1.4.0" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | dependencies = [ 158 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 159 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 160 | "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", 161 | ] 162 | 163 | [[package]] 164 | name = "dotenv" 165 | version = "0.13.0" 166 | source = "registry+https://github.com/rust-lang/crates.io-index" 167 | dependencies = [ 168 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 169 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 170 | "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 171 | ] 172 | 173 | [[package]] 174 | name = "either" 175 | version = "1.5.1" 176 | source = "registry+https://github.com/rust-lang/crates.io-index" 177 | 178 | [[package]] 179 | name = "eventbus" 180 | version = "0.5.1" 181 | source = "registry+https://github.com/rust-lang/crates.io-index" 182 | dependencies = [ 183 | "anymap 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", 184 | "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)", 185 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 186 | ] 187 | 188 | [[package]] 189 | name = "failure" 190 | version = "0.1.5" 191 | source = "registry+https://github.com/rust-lang/crates.io-index" 192 | dependencies = [ 193 | "backtrace 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", 194 | "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 195 | ] 196 | 197 | [[package]] 198 | name = "failure_derive" 199 | version = "0.1.5" 200 | source = "registry+https://github.com/rust-lang/crates.io-index" 201 | dependencies = [ 202 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 203 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 204 | "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", 205 | "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 206 | ] 207 | 208 | [[package]] 209 | name = "filetime" 210 | version = "0.2.4" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | dependencies = [ 213 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 214 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 215 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", 216 | ] 217 | 218 | [[package]] 219 | name = "fsevent" 220 | version = "0.2.17" 221 | source = "registry+https://github.com/rust-lang/crates.io-index" 222 | dependencies = [ 223 | "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 224 | "fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 225 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 226 | ] 227 | 228 | [[package]] 229 | name = "fsevent-sys" 230 | version = "0.1.6" 231 | source = "registry+https://github.com/rust-lang/crates.io-index" 232 | dependencies = [ 233 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 234 | ] 235 | 236 | [[package]] 237 | name = "fuchsia-zircon" 238 | version = "0.3.3" 239 | source = "registry+https://github.com/rust-lang/crates.io-index" 240 | dependencies = [ 241 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 242 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 243 | ] 244 | 245 | [[package]] 246 | name = "fuchsia-zircon-sys" 247 | version = "0.3.3" 248 | source = "registry+https://github.com/rust-lang/crates.io-index" 249 | 250 | [[package]] 251 | name = "httparse" 252 | version = "1.3.3" 253 | source = "registry+https://github.com/rust-lang/crates.io-index" 254 | 255 | [[package]] 256 | name = "hyper" 257 | version = "0.10.15" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | dependencies = [ 260 | "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", 261 | "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 262 | "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 263 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 264 | "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 265 | "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 266 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", 267 | "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 268 | "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 269 | "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 270 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", 271 | ] 272 | 273 | [[package]] 274 | name = "idna" 275 | version = "0.1.5" 276 | source = "registry+https://github.com/rust-lang/crates.io-index" 277 | dependencies = [ 278 | "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 279 | "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", 280 | "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 281 | ] 282 | 283 | [[package]] 284 | name = "indexmap" 285 | version = "1.0.2" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | 288 | [[package]] 289 | name = "inotify" 290 | version = "0.6.1" 291 | source = "registry+https://github.com/rust-lang/crates.io-index" 292 | dependencies = [ 293 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 294 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 295 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 296 | ] 297 | 298 | [[package]] 299 | name = "inotify-sys" 300 | version = "0.1.3" 301 | source = "registry+https://github.com/rust-lang/crates.io-index" 302 | dependencies = [ 303 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 304 | ] 305 | 306 | [[package]] 307 | name = "iovec" 308 | version = "0.1.2" 309 | source = "registry+https://github.com/rust-lang/crates.io-index" 310 | dependencies = [ 311 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 312 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 313 | ] 314 | 315 | [[package]] 316 | name = "isatty" 317 | version = "0.1.9" 318 | source = "registry+https://github.com/rust-lang/crates.io-index" 319 | dependencies = [ 320 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 321 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 322 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", 323 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 324 | ] 325 | 326 | [[package]] 327 | name = "itertools" 328 | version = "0.7.11" 329 | source = "registry+https://github.com/rust-lang/crates.io-index" 330 | dependencies = [ 331 | "either 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 332 | ] 333 | 334 | [[package]] 335 | name = "itoa" 336 | version = "0.4.3" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | 339 | [[package]] 340 | name = "kernel32-sys" 341 | version = "0.2.2" 342 | source = "registry+https://github.com/rust-lang/crates.io-index" 343 | dependencies = [ 344 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 345 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 346 | ] 347 | 348 | [[package]] 349 | name = "language-tags" 350 | version = "0.2.2" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | 353 | [[package]] 354 | name = "lazy_static" 355 | version = "1.3.0" 356 | source = "registry+https://github.com/rust-lang/crates.io-index" 357 | 358 | [[package]] 359 | name = "lazycell" 360 | version = "1.2.1" 361 | source = "registry+https://github.com/rust-lang/crates.io-index" 362 | 363 | [[package]] 364 | name = "libc" 365 | version = "0.2.50" 366 | source = "registry+https://github.com/rust-lang/crates.io-index" 367 | 368 | [[package]] 369 | name = "log" 370 | version = "0.3.9" 371 | source = "registry+https://github.com/rust-lang/crates.io-index" 372 | dependencies = [ 373 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 374 | ] 375 | 376 | [[package]] 377 | name = "log" 378 | version = "0.4.6" 379 | source = "registry+https://github.com/rust-lang/crates.io-index" 380 | dependencies = [ 381 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 382 | ] 383 | 384 | [[package]] 385 | name = "matches" 386 | version = "0.1.8" 387 | source = "registry+https://github.com/rust-lang/crates.io-index" 388 | 389 | [[package]] 390 | name = "memchr" 391 | version = "2.2.0" 392 | source = "registry+https://github.com/rust-lang/crates.io-index" 393 | 394 | [[package]] 395 | name = "mime" 396 | version = "0.2.6" 397 | source = "registry+https://github.com/rust-lang/crates.io-index" 398 | dependencies = [ 399 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 400 | ] 401 | 402 | [[package]] 403 | name = "mio" 404 | version = "0.6.16" 405 | source = "registry+https://github.com/rust-lang/crates.io-index" 406 | dependencies = [ 407 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 408 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 409 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 410 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 411 | "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 412 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 413 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 414 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 415 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 416 | "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 417 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 418 | ] 419 | 420 | [[package]] 421 | name = "mio-extras" 422 | version = "2.0.5" 423 | source = "registry+https://github.com/rust-lang/crates.io-index" 424 | dependencies = [ 425 | "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 426 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 427 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 428 | "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 429 | ] 430 | 431 | [[package]] 432 | name = "miow" 433 | version = "0.2.1" 434 | source = "registry+https://github.com/rust-lang/crates.io-index" 435 | dependencies = [ 436 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 437 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 438 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 439 | "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 440 | ] 441 | 442 | [[package]] 443 | name = "net2" 444 | version = "0.2.33" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | dependencies = [ 447 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 448 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 449 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 450 | ] 451 | 452 | [[package]] 453 | name = "notify" 454 | version = "4.0.10" 455 | source = "registry+https://github.com/rust-lang/crates.io-index" 456 | dependencies = [ 457 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 458 | "filetime 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 459 | "fsevent 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", 460 | "fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 461 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", 462 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 463 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 464 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 465 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 466 | "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 467 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 468 | ] 469 | 470 | [[package]] 471 | name = "num_cpus" 472 | version = "1.10.0" 473 | source = "registry+https://github.com/rust-lang/crates.io-index" 474 | dependencies = [ 475 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 476 | ] 477 | 478 | [[package]] 479 | name = "pear" 480 | version = "0.1.2" 481 | source = "registry+https://github.com/rust-lang/crates.io-index" 482 | dependencies = [ 483 | "pear_codegen 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 484 | ] 485 | 486 | [[package]] 487 | name = "pear_codegen" 488 | version = "0.1.2" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | dependencies = [ 491 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 492 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 493 | "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", 494 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 495 | "yansi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 496 | ] 497 | 498 | [[package]] 499 | name = "percent-encoding" 500 | version = "1.0.1" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | 503 | [[package]] 504 | name = "pq-sys" 505 | version = "0.4.6" 506 | source = "registry+https://github.com/rust-lang/crates.io-index" 507 | dependencies = [ 508 | "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 509 | ] 510 | 511 | [[package]] 512 | name = "proc-macro2" 513 | version = "0.4.27" 514 | source = "registry+https://github.com/rust-lang/crates.io-index" 515 | dependencies = [ 516 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 517 | ] 518 | 519 | [[package]] 520 | name = "quote" 521 | version = "0.6.11" 522 | source = "registry+https://github.com/rust-lang/crates.io-index" 523 | dependencies = [ 524 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 525 | ] 526 | 527 | [[package]] 528 | name = "redox_syscall" 529 | version = "0.1.51" 530 | source = "registry+https://github.com/rust-lang/crates.io-index" 531 | 532 | [[package]] 533 | name = "regex" 534 | version = "1.1.2" 535 | source = "registry+https://github.com/rust-lang/crates.io-index" 536 | dependencies = [ 537 | "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", 538 | "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 539 | "regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 540 | "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 541 | "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 542 | ] 543 | 544 | [[package]] 545 | name = "regex-syntax" 546 | version = "0.6.5" 547 | source = "registry+https://github.com/rust-lang/crates.io-index" 548 | dependencies = [ 549 | "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 550 | ] 551 | 552 | [[package]] 553 | name = "ring" 554 | version = "0.13.5" 555 | source = "registry+https://github.com/rust-lang/crates.io-index" 556 | dependencies = [ 557 | "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)", 558 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 559 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 560 | "untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 561 | ] 562 | 563 | [[package]] 564 | name = "rocket" 565 | version = "0.4.0" 566 | source = "registry+https://github.com/rust-lang/crates.io-index" 567 | dependencies = [ 568 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 569 | "isatty 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 570 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 571 | "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 572 | "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 573 | "pear 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 574 | "rocket_codegen 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 575 | "rocket_http 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 576 | "state 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 577 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", 578 | "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 579 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 580 | "yansi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 581 | ] 582 | 583 | [[package]] 584 | name = "rocket_codegen" 585 | version = "0.4.0" 586 | source = "registry+https://github.com/rust-lang/crates.io-index" 587 | dependencies = [ 588 | "devise 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 589 | "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 590 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 591 | "rocket_http 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 592 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 593 | "yansi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 594 | ] 595 | 596 | [[package]] 597 | name = "rocket_contrib" 598 | version = "0.4.0" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | dependencies = [ 601 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 602 | "notify 4.0.10 (registry+https://github.com/rust-lang/crates.io-index)", 603 | "rocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 604 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", 605 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", 606 | ] 607 | 608 | [[package]] 609 | name = "rocket_http" 610 | version = "0.4.0" 611 | source = "registry+https://github.com/rust-lang/crates.io-index" 612 | dependencies = [ 613 | "cookie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 614 | "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)", 615 | "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 616 | "pear 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 617 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 618 | "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 619 | "state 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 620 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", 621 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 622 | ] 623 | 624 | [[package]] 625 | name = "rustc-demangle" 626 | version = "0.1.13" 627 | source = "registry+https://github.com/rust-lang/crates.io-index" 628 | 629 | [[package]] 630 | name = "ryu" 631 | version = "0.2.7" 632 | source = "registry+https://github.com/rust-lang/crates.io-index" 633 | 634 | [[package]] 635 | name = "safemem" 636 | version = "0.3.0" 637 | source = "registry+https://github.com/rust-lang/crates.io-index" 638 | 639 | [[package]] 640 | name = "same-file" 641 | version = "1.0.4" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | dependencies = [ 644 | "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 645 | ] 646 | 647 | [[package]] 648 | name = "serde" 649 | version = "1.0.89" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | 652 | [[package]] 653 | name = "serde_derive" 654 | version = "1.0.89" 655 | source = "registry+https://github.com/rust-lang/crates.io-index" 656 | dependencies = [ 657 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 658 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 659 | "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", 660 | ] 661 | 662 | [[package]] 663 | name = "serde_json" 664 | version = "1.0.39" 665 | source = "registry+https://github.com/rust-lang/crates.io-index" 666 | dependencies = [ 667 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 668 | "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 669 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", 670 | ] 671 | 672 | [[package]] 673 | name = "slab" 674 | version = "0.4.2" 675 | source = "registry+https://github.com/rust-lang/crates.io-index" 676 | 677 | [[package]] 678 | name = "smallvec" 679 | version = "0.6.9" 680 | source = "registry+https://github.com/rust-lang/crates.io-index" 681 | 682 | [[package]] 683 | name = "state" 684 | version = "0.4.1" 685 | source = "registry+https://github.com/rust-lang/crates.io-index" 686 | 687 | [[package]] 688 | name = "syn" 689 | version = "0.15.29" 690 | source = "registry+https://github.com/rust-lang/crates.io-index" 691 | dependencies = [ 692 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 693 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 694 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 695 | ] 696 | 697 | [[package]] 698 | name = "synstructure" 699 | version = "0.10.1" 700 | source = "registry+https://github.com/rust-lang/crates.io-index" 701 | dependencies = [ 702 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", 703 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", 704 | "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", 705 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 706 | ] 707 | 708 | [[package]] 709 | name = "thread_local" 710 | version = "0.3.6" 711 | source = "registry+https://github.com/rust-lang/crates.io-index" 712 | dependencies = [ 713 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 714 | ] 715 | 716 | [[package]] 717 | name = "time" 718 | version = "0.1.42" 719 | source = "registry+https://github.com/rust-lang/crates.io-index" 720 | dependencies = [ 721 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", 722 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", 723 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 724 | ] 725 | 726 | [[package]] 727 | name = "toml" 728 | version = "0.4.10" 729 | source = "registry+https://github.com/rust-lang/crates.io-index" 730 | dependencies = [ 731 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", 732 | ] 733 | 734 | [[package]] 735 | name = "traitobject" 736 | version = "0.1.0" 737 | source = "registry+https://github.com/rust-lang/crates.io-index" 738 | 739 | [[package]] 740 | name = "typeable" 741 | version = "0.1.2" 742 | source = "registry+https://github.com/rust-lang/crates.io-index" 743 | 744 | [[package]] 745 | name = "ucd-util" 746 | version = "0.1.3" 747 | source = "registry+https://github.com/rust-lang/crates.io-index" 748 | 749 | [[package]] 750 | name = "unicase" 751 | version = "1.4.2" 752 | source = "registry+https://github.com/rust-lang/crates.io-index" 753 | dependencies = [ 754 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 755 | ] 756 | 757 | [[package]] 758 | name = "unicode-bidi" 759 | version = "0.3.4" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | dependencies = [ 762 | "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 763 | ] 764 | 765 | [[package]] 766 | name = "unicode-normalization" 767 | version = "0.1.8" 768 | source = "registry+https://github.com/rust-lang/crates.io-index" 769 | dependencies = [ 770 | "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 771 | ] 772 | 773 | [[package]] 774 | name = "unicode-xid" 775 | version = "0.1.0" 776 | source = "registry+https://github.com/rust-lang/crates.io-index" 777 | 778 | [[package]] 779 | name = "untrusted" 780 | version = "0.6.2" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | 783 | [[package]] 784 | name = "url" 785 | version = "1.7.2" 786 | source = "registry+https://github.com/rust-lang/crates.io-index" 787 | dependencies = [ 788 | "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 789 | "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 790 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 791 | ] 792 | 793 | [[package]] 794 | name = "utf8-ranges" 795 | version = "1.0.2" 796 | source = "registry+https://github.com/rust-lang/crates.io-index" 797 | 798 | [[package]] 799 | name = "uuid" 800 | version = "0.6.5" 801 | source = "registry+https://github.com/rust-lang/crates.io-index" 802 | dependencies = [ 803 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 804 | ] 805 | 806 | [[package]] 807 | name = "vcpkg" 808 | version = "0.2.6" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | 811 | [[package]] 812 | name = "version_check" 813 | version = "0.1.5" 814 | source = "registry+https://github.com/rust-lang/crates.io-index" 815 | 816 | [[package]] 817 | name = "walkdir" 818 | version = "2.2.7" 819 | source = "registry+https://github.com/rust-lang/crates.io-index" 820 | dependencies = [ 821 | "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 822 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 823 | "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 824 | ] 825 | 826 | [[package]] 827 | name = "winapi" 828 | version = "0.2.8" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | 831 | [[package]] 832 | name = "winapi" 833 | version = "0.3.6" 834 | source = "registry+https://github.com/rust-lang/crates.io-index" 835 | dependencies = [ 836 | "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 837 | "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 838 | ] 839 | 840 | [[package]] 841 | name = "winapi-build" 842 | version = "0.1.1" 843 | source = "registry+https://github.com/rust-lang/crates.io-index" 844 | 845 | [[package]] 846 | name = "winapi-i686-pc-windows-gnu" 847 | version = "0.4.0" 848 | source = "registry+https://github.com/rust-lang/crates.io-index" 849 | 850 | [[package]] 851 | name = "winapi-util" 852 | version = "0.1.2" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | dependencies = [ 855 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 856 | ] 857 | 858 | [[package]] 859 | name = "winapi-x86_64-pc-windows-gnu" 860 | version = "0.4.0" 861 | source = "registry+https://github.com/rust-lang/crates.io-index" 862 | 863 | [[package]] 864 | name = "ws2_32-sys" 865 | version = "0.2.1" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | dependencies = [ 868 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 869 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 870 | ] 871 | 872 | [[package]] 873 | name = "yansi" 874 | version = "0.4.0" 875 | source = "registry+https://github.com/rust-lang/crates.io-index" 876 | 877 | [[package]] 878 | name = "yansi" 879 | version = "0.5.0" 880 | source = "registry+https://github.com/rust-lang/crates.io-index" 881 | 882 | [metadata] 883 | "checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5" 884 | "checksum anymap 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" 885 | "checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799" 886 | "checksum backtrace 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "cd5a90e2b463010cd0e0ce9a11d4a9d5d58d9f41d4a6ba3dcaf9e68b466e88b4" 887 | "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" 888 | "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" 889 | "checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" 890 | "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" 891 | "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" 892 | "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" 893 | "checksum cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ce8bb087aacff865633f0bd5aeaed910fe2fe55b55f4739527f2e023a2e53d" 894 | "checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4" 895 | "checksum cookie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1465f8134efa296b4c19db34d909637cb2bf0f7aaf21299e23e18fa29ac557cf" 896 | "checksum devise 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "74e04ba2d03c5fa0d954c061fc8c9c288badadffc272ebb87679a89846de3ed3" 897 | "checksum devise_codegen 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "066ceb7928ca93a9bedc6d0e612a8a0424048b0ab1f75971b203d01420c055d7" 898 | "checksum devise_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf41c59b22b5e3ec0ea55c7847e5f358d340f3a8d6d53a5cf4f1564967f96487" 899 | "checksum diesel 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a2469cbcf1dfb9446e491cac4c493c2554133f87f7d041e892ac82e5cd36e863" 900 | "checksum diesel_derives 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "62a27666098617d52c487a41f70de23d44a1dc1f3aa5877ceba2790fb1f1cab4" 901 | "checksum dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d0a1279c96732bc6800ce6337b6a614697b0e74ae058dc03c62ebeb78b4d86" 902 | "checksum either 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c67353c641dc847124ea1902d69bd753dee9bb3beff9aa3662ecf86c971d1fac" 903 | "checksum eventbus 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b3fa67f764d610e66099ce261c5fcf884b9c595db26ab390ee558c0a77f50d50" 904 | "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" 905 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" 906 | "checksum filetime 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a2df5c1a8c4be27e7707789dc42ae65976e60b394afd293d1419ab915833e646" 907 | "checksum fsevent 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c4bbbf71584aeed076100b5665ac14e3d85eeb31fdbb45fbd41ef9a682b5ec05" 908 | "checksum fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1a772d36c338d07a032d5375a36f15f9a7043bf0cb8ce7cee658e037c6032874" 909 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" 910 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" 911 | "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" 912 | "checksum hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "df0caae6b71d266b91b4a83111a61d2b94ed2e2bea024c532b933dcff867e58c" 913 | "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" 914 | "checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d" 915 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" 916 | "checksum inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" 917 | "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" 918 | "checksum isatty 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e31a8281fc93ec9693494da65fbf28c0c2aa60a2eaec25dc58e2f31952e95edc" 919 | "checksum itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0d47946d458e94a1b7bcabbf6521ea7c037062c81f534615abcad76e84d4970d" 920 | "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" 921 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" 922 | "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" 923 | "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" 924 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" 925 | "checksum libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1" 926 | "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" 927 | "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" 928 | "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" 929 | "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" 930 | "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" 931 | "checksum mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432" 932 | "checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" 933 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" 934 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" 935 | "checksum notify 4.0.10 (registry+https://github.com/rust-lang/crates.io-index)" = "abb1581693e44d8a0ec347ef12289625063f52a1dddc3f3c9befd5fc59e88943" 936 | "checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba" 937 | "checksum pear 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c26d2b92e47063ffce70d3e3b1bd097af121a9e0db07ca38a6cc1cf0cc85ff25" 938 | "checksum pear_codegen 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "336db4a192cc7f54efeb0c4e11a9245394824cc3bcbd37ba3ff51240c35d7a6e" 939 | "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" 940 | "checksum pq-sys 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac25eee5a0582f45a67e837e350d784e7003bd29a5f460796772061ca49ffda" 941 | "checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915" 942 | "checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1" 943 | "checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85" 944 | "checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f" 945 | "checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861" 946 | "checksum ring 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2c4db68a2e35f3497146b7e4563df7d4773a2433230c5e4b448328e31740458a" 947 | "checksum rocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "242154377a85c2a9e036fc31ffc8c200b9e1f22a196e47baa3b57716606ca89d" 948 | "checksum rocket_codegen 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d907d6d458c859651c1cf4c8fa99b77685082bde0561db6a4600b365058f710" 949 | "checksum rocket_contrib 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f73e161dad5730435f51c815a5c6831d2e57b6b4299b1bf609d31b09aa9a2fa7" 950 | "checksum rocket_http 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba9d4f2ce5bba6e1b6d3100493bbad63879e99bbf6b4365d61e6f781daab324d" 951 | "checksum rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "adacaae16d02b6ec37fdc7acfcddf365978de76d1983d3ee22afc260e1ca9619" 952 | "checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7" 953 | "checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9" 954 | "checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" 955 | "checksum serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "92514fb95f900c9b5126e32d020f5c6d40564c27a5ea6d1d7d9f157a96623560" 956 | "checksum serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c" 957 | "checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d" 958 | "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" 959 | "checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be" 960 | "checksum state 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7345c971d1ef21ffdbd103a75990a15eb03604fc8b8852ca8cb418ee1a099028" 961 | "checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2" 962 | "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" 963 | "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" 964 | "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" 965 | "checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" 966 | "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" 967 | "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" 968 | "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" 969 | "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" 970 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" 971 | "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" 972 | "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" 973 | "checksum untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f" 974 | "checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" 975 | "checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" 976 | "checksum uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363" 977 | "checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d" 978 | "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" 979 | "checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1" 980 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" 981 | "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" 982 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" 983 | "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 984 | "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" 985 | "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 986 | "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" 987 | "checksum yansi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d60c3b48c9cdec42fb06b3b84b5b087405e1fa1c644a1af3930e4dfafe93de48" 988 | "checksum yansi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" 989 | --------------------------------------------------------------------------------