crossbario / crossbar

Crossbar.io - WAMP application router
https://crossbar.io/
Other
2.05k stars 274 forks source link

enable http bridge in webcluster webservice types #1978

Closed oberstet closed 2 years ago

oberstet commented 2 years ago

so

but only the latter actually has router = transport._worker._router_session_factory._routerFactory._routers[config['realm']].

for the former we need to use a proxy backend connection with an internal client session

2022-03-31T15:00:36+0200 [Proxy      165915] Starting "caller" Web service on path "call" of transport "primary" <crossbar.worker.transport.TransportController.start_web_transport_service>
2022-03-31T15:00:36+0200 [Proxy      165915] ProxyController.onUserError(): "KeyError: 'realm1'"
Traceback (most recent call last):
  File "/home/oberstet/cpy39_1/lib/python3.9/site-packages/twisted/internet/defer.py", line 1905, in unwindGenerator
    return _cancellableInlineCallbacks(gen)
  File "/home/oberstet/cpy39_1/lib/python3.9/site-packages/twisted/internet/defer.py", line 1815, in _cancellableInlineCallbacks
    _inlineCallbacks(None, gen, status)
  File "/home/oberstet/cpy39_1/lib/python3.9/site-packages/twisted/internet/defer.py", line 1660, in _inlineCallbacks
    result = current_context.run(gen.send, result)
  File "/home/oberstet/scm/crossbario/crossbar/crossbar/worker/transport.py", line 496, in start_web_transport_service
    webservice = yield maybeDeferred(webservice_factory.create, transport, path, config)
--- <exception caught here> ---
  File "/home/oberstet/scm/crossbario/crossbar/crossbar/worker/transport.py", line 496, in start_web_transport_service
    webservice = yield maybeDeferred(webservice_factory.create, transport, path, config)
  File "/home/oberstet/cpy39_1/lib/python3.9/site-packages/twisted/internet/defer.py", line 190, in maybeDeferred
    result = f(*args, **kwargs)
  File "/home/oberstet/scm/crossbario/crossbar/crossbar/webservice/rest.py", line 61, in create
    router = transport._worker._router_session_factory._routerFactory._routers[config['realm']]
builtins.KeyError: 'realm1'
oberstet commented 2 years ago
(cpy39_1) (base) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ git merge upstream/master 
Aktualisiere ecc8b4e0..f1333690
Fast-forward
 .github/workflows/test-management.yml  |   2 +
 crossbar/_interfaces.py                |  28 +++++-
 crossbar/_version.py                   |   2 +-
 crossbar/bridge/rest/common.py         |  13 ++-
 crossbar/common/keys/crossbar-22-4.pub |   2 +
 crossbar/master/cluster/webcluster.py  |   2 +
 crossbar/node/node.py                  |  69 +++++++-------
 crossbar/router/auth/anonymous.py      |   5 +-
 crossbar/router/auth/pending.py        |   7 +-
 crossbar/webservice/rest.py            | 144 +++++++++++++++++++---------
 crossbar/worker/proxy.py               | 467 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------
 crossbar/worker/router.py              |  20 +++-
 setup.py                               |   2 +-
 13 files changed, 513 insertions(+), 250 deletions(-)
 create mode 100644 crossbar/common/keys/crossbar-22-4.pub