Message ID | 20200914163107.27739-1-zajec5@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [luci] luci-base: use actual JSON-RPC for verifying ubus RPC URL | expand |
On 14.09.2020 18:31, Rafał Miłecki wrote: > @@ -2553,10 +2553,19 @@ > rpcBaseURL = Session.getLocalData('rpcBaseURL'); > > if (rpcBaseURL == null) { > + var msg = { > + jsonrpc: '2.0', > + id: 'init', > + method: 'list', > + params: undefined > + }; > + var options = { > + nobatch: true > + }; > var rpcFallbackURL = this.url('admin/ubus'); > > - rpcBaseURL = Request.get(env.ubuspath).then(function(res) { > - return (rpcBaseURL = (res.status == 400) ? env.ubuspath : rpcFallbackURL); > + rpcBaseURL = Request.post(env.ubuspath, msg, options).then(function(res) { > + return (rpcBaseURL = res.status == 200 ? env.ubuspath : rpcFallbackURL); Pushing with "options" variable object inlined.
diff --git a/modules/luci-base/htdocs/luci-static/resources/luci.js b/modules/luci-base/htdocs/luci-static/resources/luci.js index 83c2807d7..e285f999e 100644 --- a/modules/luci-base/htdocs/luci-static/resources/luci.js +++ b/modules/luci-base/htdocs/luci-static/resources/luci.js @@ -2553,10 +2553,19 @@ rpcBaseURL = Session.getLocalData('rpcBaseURL'); if (rpcBaseURL == null) { + var msg = { + jsonrpc: '2.0', + id: 'init', + method: 'list', + params: undefined + }; + var options = { + nobatch: true + }; var rpcFallbackURL = this.url('admin/ubus'); - rpcBaseURL = Request.get(env.ubuspath).then(function(res) { - return (rpcBaseURL = (res.status == 400) ? env.ubuspath : rpcFallbackURL); + rpcBaseURL = Request.post(env.ubuspath, msg, options).then(function(res) { + return (rpcBaseURL = res.status == 200 ? env.ubuspath : rpcFallbackURL); }, function() { return (rpcBaseURL = rpcFallbackURL); }).then(function(url) {