diff options
author | Maran <maran.hidskes@gmail.com> | 2017-01-05 18:57:41 +0800 |
---|---|---|
committer | Felix Lange <fjl@users.noreply.github.com> | 2017-01-05 18:57:41 +0800 |
commit | f087633efdf42f23ada99a5750af30320a7905a8 (patch) | |
tree | b905d58611b342650657c20810aa9cc1d44b73e2 /swarm/swarm.go | |
parent | bbce726c8a85e72141d9d7e690711738c09ede3b (diff) | |
download | dexon-f087633efdf42f23ada99a5750af30320a7905a8.tar.gz dexon-f087633efdf42f23ada99a5750af30320a7905a8.tar.zst dexon-f087633efdf42f23ada99a5750af30320a7905a8.zip |
swarm/api/http: add support for CORS headers (#3388)
Diffstat (limited to 'swarm/swarm.go')
-rw-r--r-- | swarm/swarm.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/swarm/swarm.go b/swarm/swarm.go index 7e38944de..4b3621aff 100644 --- a/swarm/swarm.go +++ b/swarm/swarm.go @@ -52,6 +52,7 @@ type Swarm struct { hive *network.Hive // the logistic manager backend chequebook.Backend // simple blockchain Backend privateKey *ecdsa.PrivateKey + corsString string swapEnabled bool } @@ -71,7 +72,7 @@ func (self *Swarm) API() *SwarmAPI { // creates a new swarm service instance // implements node.Service -func NewSwarm(ctx *node.ServiceContext, backend chequebook.Backend, config *api.Config, swapEnabled, syncEnabled bool) (self *Swarm, err error) { +func NewSwarm(ctx *node.ServiceContext, backend chequebook.Backend, config *api.Config, swapEnabled, syncEnabled bool, cors string) (self *Swarm, err error) { if bytes.Equal(common.FromHex(config.PublicKey), storage.ZeroKey) { return nil, fmt.Errorf("empty public key") } @@ -84,6 +85,7 @@ func NewSwarm(ctx *node.ServiceContext, backend chequebook.Backend, config *api. swapEnabled: swapEnabled, backend: backend, privateKey: config.Swap.PrivateKey(), + corsString: cors, } glog.V(logger.Debug).Infof("Setting up Swarm service components") @@ -188,10 +190,16 @@ func (self *Swarm) Start(net *p2p.Server) error { // start swarm http proxy server if self.config.Port != "" { - go httpapi.StartHttpServer(self.api, self.config.Port) + addr := ":" + self.config.Port + go httpapi.StartHttpServer(self.api, &httpapi.Server{Addr: addr, CorsString: self.corsString}) } + glog.V(logger.Debug).Infof("Swarm http proxy started on port: %v", self.config.Port) + if self.corsString != "" { + glog.V(logger.Debug).Infof("Swarm http proxy started with corsdomain:", self.corsString) + } + return nil } |