No-ui compilation feature

This commit is contained in:
Tomasz Drwięga 2016-07-12 20:15:36 +02:00
parent b37ceccf02
commit 11cae70cdd
7 changed files with 29 additions and 7 deletions

View File

@ -49,6 +49,7 @@ default-features = false
[features] [features]
default = ["dapps"] default = ["dapps"]
no-ui = ["ethcore-signer/no-ui"]
dapps = ["ethcore-dapps"] dapps = ["ethcore-dapps"]
dev = ["clippy", "ethcore/dev", "ethcore-util/dev", "ethsync/dev", "ethcore-rpc/dev", dev = ["clippy", "ethcore/dev", "ethcore-util/dev", "ethsync/dev", "ethcore-rpc/dev",
"ethcore-dapps/dev", "ethcore-signer/dev"] "ethcore-dapps/dev", "ethcore-signer/dev"]

View File

@ -561,7 +561,7 @@ impl Configuration {
} }
pub fn dapps_enabled(&self) -> bool { pub fn dapps_enabled(&self) -> bool {
!self.args.flag_dapps_off && !self.args.flag_no_dapps !self.args.flag_dapps_off && !self.args.flag_no_dapps && cfg!(not(feature = "no-ui"))
} }
pub fn signer_enabled(&self) -> bool { pub fn signer_enabled(&self) -> bool {

View File

@ -21,9 +21,9 @@ use util::panics::PanicHandler;
use die::*; use die::*;
use rpc_apis; use rpc_apis;
#[cfg(feature = "dapps")] #[cfg(all(feature = "dapps", not(feature = "no-ui")))]
pub use ethcore_dapps::Server as WebappServer; pub use ethcore_dapps::Server as WebappServer;
#[cfg(not(feature = "dapps"))] #[cfg(any(not(feature = "dapps"), feature = "no-ui"))]
pub struct WebappServer; pub struct WebappServer;
pub struct Configuration { pub struct Configuration {
@ -62,7 +62,7 @@ pub fn new(configuration: Configuration, deps: Dependencies) -> Option<WebappSer
Some(setup_dapps_server(deps, configuration.dapps_path, &addr, auth)) Some(setup_dapps_server(deps, configuration.dapps_path, &addr, auth))
} }
#[cfg(not(feature = "dapps"))] #[cfg(any(not(feature = "dapps"), feature = "no-ui"))]
pub fn setup_dapps_server( pub fn setup_dapps_server(
_deps: Dependencies, _deps: Dependencies,
_dapps_path: String, _dapps_path: String,
@ -72,7 +72,7 @@ pub fn setup_dapps_server(
die!("Your Parity version has been compiled without WebApps support.") die!("Your Parity version has been compiled without WebApps support.")
} }
#[cfg(feature = "dapps")] #[cfg(all(feature = "dapps", not(feature = "no-ui")))]
pub fn setup_dapps_server( pub fn setup_dapps_server(
deps: Dependencies, deps: Dependencies,
dapps_path: String, dapps_path: String,

View File

@ -51,7 +51,7 @@ extern crate ethcore_rpc;
extern crate ethcore_signer; extern crate ethcore_signer;
extern crate ansi_term; extern crate ansi_term;
#[cfg(feature = "dapps")] #[cfg(all(feature = "dapps", not(feature = "no-ui")))]
extern crate ethcore_dapps; extern crate ethcore_dapps;
#[macro_use] #[macro_use]

View File

@ -24,3 +24,4 @@ clippy = { version = "0.0.79", optional = true}
[features] [features]
dev = ["clippy"] dev = ["clippy"]
no-ui = []

View File

@ -51,6 +51,7 @@ extern crate ethcore_util as util;
extern crate ethcore_rpc as rpc; extern crate ethcore_rpc as rpc;
extern crate jsonrpc_core; extern crate jsonrpc_core;
extern crate ws; extern crate ws;
#[cfg(not(feature = "no-ui"))]
extern crate parity_dapps_signer as signer; extern crate parity_dapps_signer as signer;
mod authcode_store; mod authcode_store;

View File

@ -17,7 +17,6 @@
//! Session handlers factory. //! Session handlers factory.
use ws; use ws;
use signer;
use authcode_store::AuthCodes; use authcode_store::AuthCodes;
use std::path::{PathBuf, Path}; use std::path::{PathBuf, Path};
use std::sync::Arc; use std::sync::Arc;
@ -25,6 +24,26 @@ use std::str::FromStr;
use jsonrpc_core::IoHandler; use jsonrpc_core::IoHandler;
use util::H256; use util::H256;
#[cfg(not(feature = "no-ui"))]
mod signer {
use signer;
pub fn handle(req: &str) -> Option<signer::File> {
signer::handle(req)
}
}
#[cfg(feature = "no-ui")]
mod signer {
pub struct File {
pub content: String,
pub mime: String,
}
pub fn handle(_req: &str) -> Option<File> {
None
}
}
fn origin_is_allowed(self_origin: &str, header: Option<&[u8]>) -> bool { fn origin_is_allowed(self_origin: &str, header: Option<&[u8]>) -> bool {
match header { match header {
None => false, None => false,