Fixing CORS settings

This commit is contained in:
Tomasz Drwięga 2016-06-09 10:02:52 +02:00
parent 293d9f15d5
commit 2e52c99042
2 changed files with 6 additions and 2 deletions

2
Cargo.lock generated
View File

@ -606,7 +606,7 @@ dependencies = [
[[package]]
name = "jsonrpc-http-server"
version = "5.1.0"
source = "git+https://github.com/ethcore/jsonrpc-http-server.git#77dcac785c02c3a7622d36aa635ee80d63d0b20c"
source = "git+https://github.com/ethcore/jsonrpc-http-server.git#6117b1d77b5a60d6fa2dc884f12aa7f5fd4585ca"
dependencies = [
"hyper 0.9.3 (git+https://github.com/ethcore/hyper)",
"jsonrpc-core 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",

View File

@ -75,7 +75,11 @@ impl RpcServer {
/// Start http server asynchronously and returns result with `Server` handle on success or an error.
pub fn start_http(&self, addr: &SocketAddr, cors_domains: Vec<String>) -> Result<Server, RpcServerError> {
let cors_domains = cors_domains.into_iter()
.map(jsonrpc_http_server::AccessControlAllowOrigin::Value)
.map(|v| match v {
ref v if v == "*" => jsonrpc_http_server::AccessControlAllowOrigin::Any,
ref v if v == "null" => jsonrpc_http_server::AccessControlAllowOrigin::Null,
v => jsonrpc_http_server::AccessControlAllowOrigin::Value(v),
})
.collect();
Server::start(addr, self.handler.clone(), cors_domains)
}