From 6f80ff08000c839712d20d20dede1c699f17d971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 24 Jul 2019 23:28:51 +0200 Subject: [PATCH] pond: Connect stuff in ConnMgr --- lib/auth/handler.go | 7 +++++++ testbed/front/src/ConnMgr.js | 19 +++++++++---------- testbed/front/src/FullNode.js | 2 +- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/auth/handler.go b/lib/auth/handler.go index 3ce40e983..380f60f70 100644 --- a/lib/auth/handler.go +++ b/lib/auth/handler.go @@ -20,6 +20,13 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { ctx := r.Context() token := r.Header.Get("Authorization") + if token == "" { + token = r.FormValue("token") + if token != "" { + token = "Bearer " + token + } + } + if token != "" { if !strings.HasPrefix(token, "Bearer ") { log.Warn("missing Bearer prefix in auth header") diff --git a/testbed/front/src/ConnMgr.js b/testbed/front/src/ConnMgr.js index 56d5f38d2..42dcd081a 100644 --- a/testbed/front/src/ConnMgr.js +++ b/testbed/front/src/ConnMgr.js @@ -8,9 +8,15 @@ class ConnMgr extends React.Component { this.connect = this.connect.bind(this) } - connect(action, from, to) { + async connect(action, from, to) { if (action) { - console.log("conn", from, to) + const fromNd = this.props.nodes[from] + const toNd = this.props.nodes[to] + + const toPeerInfo = await toNd.conn.call('Filecoin.NetAddrsListen', []) + + console.log("conn") + await fromNd.conn.call('Filecoin.NetConnect', [toPeerInfo]) } } @@ -18,16 +24,9 @@ class ConnMgr extends React.Component { const nodes = this.props.nodes let keys = Object.keys(nodes) - // T O - - - // F - // R - // O - // M - // - const rows = keys.filter((_, i) => i > 0).map((k, i) => { const cols = keys.filter((_, j) => i >= j).map((kt, i) => { - return ( this.connect(e.target.checked, k, kt)}/>) + return ( this.connect(e.target.checked, k, kt)}/>) }) return ( {k}{cols} diff --git a/testbed/front/src/FullNode.js b/testbed/front/src/FullNode.js index b92e17eb0..6a7faf1ac 100644 --- a/testbed/front/src/FullNode.js +++ b/testbed/front/src/FullNode.js @@ -30,7 +30,7 @@ class FullNode extends React.Component { token: token, })) - const client = new Client(`ws://127.0.0.1:${this.props.node.ApiPort}/rpc/v0`) + const client = new Client(`ws://127.0.0.1:${this.props.node.ApiPort}/rpc/v0?token=${token}`) client.on('open', () => { this.setState(() => ({ state: stateConnected,