Skip to content

Instantly share code, notes, and snippets.

@derwolfe
Last active August 29, 2015 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save derwolfe/ebf98346167ac5f34e13 to your computer and use it in GitHub Desktop.
Save derwolfe/ebf98346167ac5f34e13 to your computer and use it in GitHub Desktop.
from twisted.internet import reactor
from twisted.web import server, resource
from autobahn.wamp1.protocol import WampClientFactory, WampCraClientProtocol
from autobahn.twisted.websocket import connectWS
class SomeClient(WampCraClientProtocol):
def doSomething(self, something):
return something
def someMethod(self):
d = self.call("http://somewhere")
d.addCallback(self.doSomething)
class HTTPServer(resource.Resource):
isLeaf = True
def __init__(self, wampClient):
Resource.__init__(self)
self._wampClient = wampClient
def render_GET(self, request):
request.setHeader("content-type", "application/json")
result = self._wampClient.someMethod()
return result
if __name__ == '__main__':
wampFactory = WampClientFactory("wss://someurl")
wampFactory.protocol = SomeClient
connectWS(wampFactory) # not sure what this does, and it might affect what I'm trying to do
reactor.listenTCP(8080, server.Site(HTTPServer(wampFactory)))
reactor.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment