diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-09-19 00:38:00 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2020-05-10 13:08:45 -0700 |
commit | a9b23947c49275a11765c8a752c154b98c69b531 (patch) | |
tree | 0c8bef53cfb66b81996721fcab92d90ec1c4376c /rust/fatcat-openapi/examples/server.rs | |
parent | 228a9245ea3680e11164f58367310406402d306b (diff) | |
download | fatcat-a9b23947c49275a11765c8a752c154b98c69b531.tar.gz fatcat-a9b23947c49275a11765c8a752c154b98c69b531.zip |
WIP: update rust codegen script
Only Cargo.toml project metadata updated.
Diffstat (limited to 'rust/fatcat-openapi/examples/server.rs')
-rw-r--r-- | rust/fatcat-openapi/examples/server.rs | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/rust/fatcat-openapi/examples/server.rs b/rust/fatcat-openapi/examples/server.rs deleted file mode 100644 index a033413b..00000000 --- a/rust/fatcat-openapi/examples/server.rs +++ /dev/null @@ -1,59 +0,0 @@ -//! Main binary entry point for fatcat implementation. - -#![allow(missing_docs)] - -// Imports required by this file. -// extern crate <name of this crate>; -use fatcat_openapi; - -// Imports required by server library. -// extern crate fatcat_openapi; -// extern crate swagger; -use chrono; -use futures; -#[macro_use] -extern crate error_chain; - -use clap::{App, Arg}; -use hyper_openssl::openssl::error::ErrorStack; -use hyper_openssl::openssl::ssl::{SslAcceptorBuilder, SslMethod}; -use hyper_openssl::openssl::x509::X509_FILETYPE_PEM; -use hyper_openssl::OpensslServer; -use iron::{Chain, Iron}; - -mod server_lib; - -/// Builds an SSL implementation for Simple HTTPS from some hard-coded file names -fn ssl() -> Result<OpensslServer, ErrorStack> { - let mut ssl = SslAcceptorBuilder::mozilla_intermediate_raw(SslMethod::tls())?; - - // Server authentication - ssl.set_private_key_file("examples/server-key.pem", X509_FILETYPE_PEM)?; - ssl.set_certificate_chain_file("examples/server-chain.pem")?; - ssl.check_private_key()?; - - Ok(OpensslServer::from(ssl.build())) -} - -/// Create custom server, wire it to the autogenerated router, -/// and pass it to the web server. -fn main() { - let matches = App::new("server").arg(Arg::with_name("https").long("https").help("Whether to use HTTPS or not")).get_matches(); - - let server = server_lib::server().unwrap(); - let router = fatcat_openapi::router(server); - - let mut chain = Chain::new(router); - chain.link_before(fatcat_openapi::server::ExtractAuthData); - // add authentication middlewares into the chain here - // for the purpose of this example, pretend we have authenticated a user - //chain.link_before(AllowAllMiddleware::new("cosmo")); - - if matches.is_present("https") { - // Using Simple HTTPS - Iron::new(chain).https("localhost:8080", ssl().expect("Failed to load SSL keys")).expect("Failed to start HTTPS server"); - } else { - // Using HTTP - Iron::new(chain).http("localhost:8080").expect("Failed to start HTTP server"); - } -} |