Package web2py :: Package gluon :: Module tools :: Class Service
[hide private]
[frames] | no frames]

Class Service

source code

Instance Methods [hide private]
 
__init__(self, environment) source code
 
run(self, f)
example:
source code
 
csv(self, f)
example:
source code
 
xml(self, f)
example:
source code
 
rss(self, f)
example:
source code
 
json(self, f)
example:
source code
 
jsonrpc(self, f)
example:
source code
 
xmlrpc(self, f)
example:
source code
 
amfrpc(self, f)
example:
source code
 
amfrpc3(self, domain='default')
example:
source code
 
serve_run(self, args=None) source code
 
serve_csv(self, args=None) source code
 
serve_xml(self, args=None) source code
 
serve_rss(self, args=None) source code
 
serve_json(self, args=None) source code
 
serve_jsonrpc(self) source code
 
serve_xmlrpc(self) source code
 
serve_amfrpc(self, version=0) source code
 
__call__(self)
register services with: service = Service(globals()) @service.run @service.rss @service.json @service.jsonrpc @service.xmlrpc @service.jsonrpc @service.amfrpc @service.amfrpc3('domain')
source code
 
error(self) source code
Method Details [hide private]

run(self, f)

source code 

example:

   service = Service(globals())
   @service.run
   def myfunction(a, b):
       return a + b
   def call():
       return service()

Then call it with:

   wget http://..../app/default/call/run/myfunction?a=3&b=4

csv(self, f)

source code 

example:

   service = Service(globals())
   @service.csv
   def myfunction(a, b):
       return a + b
   def call():
       return service()

Then call it with:

   wget http://..../app/default/call/csv/myfunction?a=3&b=4

xml(self, f)

source code 

example:

   service = Service(globals())
   @service.xml
   def myfunction(a, b):
       return a + b
   def call():
       return service()

Then call it with:

   wget http://..../app/default/call/xml/myfunction?a=3&b=4

rss(self, f)

source code 

example:

   service = Service(globals())
   @service.rss
   def myfunction():
       return dict(title=..., link=..., description=...,
           created_on=..., entries=[dict(title=..., link=...,
               description=..., created_on=...])
   def call():
       return service()

Then call it with:

   wget http://..../app/default/call/rss/myfunction

json(self, f)

source code 

example:

   service = Service(globals())
   @service.json
   def myfunction(a, b):
       return [{a: b}]
   def call():
       return service()

Then call it with:

   wget http://..../app/default/call/json/myfunc?a=hello&b=world

jsonrpc(self, f)

source code 

example:

   service = Service(globals())
   @service.jsonrpc
   def myfunction(a, b):
       return a + b
   def call():
       return service()

Then call it with:

   wget http://..../app/default/call/jsonrpc/myfunc?a=hello&b=world

xmlrpc(self, f)

source code 

example:

   service = Service(globals())
   @service.xmlrpc
   def myfunction(a, b):
       return a + b
   def call():
       return service()

The call it with:

   wget http://..../app/default/call/xmlrpc/myfunction?a=hello&b=world

amfrpc(self, f)

source code 

example:

   service = Service(globals())
   @service.amfrpc
   def myfunction(a, b):
       return a + b
   def call():
       return service()

The call it with:

   wget http://..../app/default/call/amfrpc/myfunction?a=hello&b=world

amfrpc3(self, domain='default')

source code 

example:

   service = Service(globals())
   @service.amfrpc3('domain')
   def myfunction(a, b):
       return a + b
   def call():
       return service()

The call it with:

   wget http://..../app/default/call/amfrpc3/myfunction?a=hello&b=world

__call__(self)
(Call operator)

source code 

register services with: service = Service(globals()) @service.run @service.rss @service.json @service.jsonrpc @service.xmlrpc @service.jsonrpc @service.amfrpc @service.amfrpc3('domain')

expose services with

def call(): return service()

call services with http://..../app/default/call/run?[parameters] http://..../app/default/call/rss?[parameters] http://..../app/default/call/json?[parameters] http://..../app/default/call/jsonrpc http://..../app/default/call/xmlrpc http://..../app/default/call/amfrpc http://..../app/default/call/amfrpc3