Пример #1
0
def createRestApi():
    """Create the REST API URL hierarchy"""
    siteRoot = RootNode()

    jobWrapper = guard.HTTPAuthSessionWrapper(Portal(JobRealm(), [JobDBChecker(db)]), [guard.BasicCredentialFactory("thundercloud job management")])
    siteRoot.putChild("job", jobWrapper)
  
    # slave tree needs specific authentication
    slaveWrapper = guard.HTTPAuthSessionWrapper(Portal(SlaveRealm(), [SlaveDBChecker(db)]), [guard.BasicCredentialFactory("thundercloud slave management")])
    siteRoot.putChild("slave", slaveWrapper)

    return server.Site(siteRoot)
Пример #2
0
from status import StatusApiTree
from job import JobApiTree

from twisted.web.resource import Resource

from nodes import RootNode, LeafNode


class Die(LeafNode):
    def GET(self, request):
        from twisted.internet import reactor

        reactor.stop()


siteRoot = RootNode()
siteRoot.putChild("", RootNode())
siteRoot.putChild("status", StatusApiTree)
siteRoot.putChild("job", JobApiTree)
siteRoot.putChild("die", Die())
Пример #3
0
from nodes import RootNode
from nodes import LeafNode

from twisted.web.resource import Resource

class HeartBeat(LeafNode):
    def GET(self, request):
        return True
    
class Jobs(LeafNode):
    def GET(self, request):
        return {"jobs": 0}
    


StatusApiTree = RootNode()
StatusApiTree.putChild("", RootNode())
StatusApiTree.putChild("heartbeat", HeartBeat())
StatusApiTree.putChild("jobs", Jobs())
Пример #4
0
from status import StatusApiTree
from job import JobApiTree

from twisted.web.resource import Resource

from nodes import RootNode, LeafNode


class Die(LeafNode):
    def GET(self, request):
        from twisted.internet import reactor
        reactor.stop()


siteRoot = RootNode()
siteRoot.putChild("", RootNode())
siteRoot.putChild("status", StatusApiTree)
siteRoot.putChild("job", JobApiTree)
siteRoot.putChild("die", Die())