annotate README.txt @ 26:346114023528 0.2.0a

Added __getfile__ mechanism
author Ben Croston <ben@croston.org>
date Mon, 02 Jan 2012 00:12:41 +0000
parents d0b8c9edf4f5
children bea0c77734ca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
1 This package provides a service based on JSONRPC with some small additions to the standard in order to enable authenticated requests. The WSGI specification is used for data communication. The package is broken down into two halves - a client and a server. For security, the server is best run over HTTPS, although this is not enforced.
4
ad5a8748afcf Add test framework
Ben Croston <ben@croston.org>
parents: 0
diff changeset
2
22
9459d63c1558 Added full support for Python 3
Ben Croston <ben@croston.org>
parents: 20
diff changeset
3 This package depends on WebOb 1.2 (or above). This is automatically installed if you have an internet connection, otherwise download and install from http://pypi.python.org/pypi/WebOb
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
4
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
5 Example Usage (Server):
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
6
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
7 ::
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
8
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
9 import hashlib
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
10 from wsgiref import simple_server
17
Ben Croston <ben@croston.org>
parents: 16
diff changeset
11 from AuthRPC.server import AuthRPCApp
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
12
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
13 def myauth(username, password, useragent):
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
14 return username == 'myuser' and \
24
d0b8c9edf4f5 Fixed error in README
Ben Croston <ben@croston.org>
parents: 22
diff changeset
15 password == hashlib.md5('secret'.encode()).hexdigest() and \
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
16 useragent == 'myprogram'
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
17
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
18 class api(object):
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
19 def do_something(self, myvar):
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
20 """Your code placed here"""
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
21 return 'Something', myvar
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
22
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
23 application = AuthRPCApp(api(), auth=myauth)
16
686b998428de Update typo in README
Ben Croston <ben@croston.org>
parents: 15
diff changeset
24 simple_server.make_server('localhost', 1234, application)
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
25
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
26 Example Usage (Client):
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
27
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
28 ::
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
29
20
4b62687da58a Added batch requests
Ben Croston <ben@croston.org>
parents: 17
diff changeset
30 from AuthRPC.client import ServerProxy, BatchCall
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
31 client = ServerProxy('http://localhost:1234/',
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
32 username='myuser',
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
33 password='secret',
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
34 user_agent='myprogram')
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
35 retval = client.do_something('test')
26
346114023528 Added __getfile__ mechanism
Ben Croston <ben@croston.org>
parents: 24
diff changeset
36 file_contents = client.__getfile__('myfile.pdf')
20
4b62687da58a Added batch requests
Ben Croston <ben@croston.org>
parents: 17
diff changeset
37 batch = BatchCall(client)
4b62687da58a Added batch requests
Ben Croston <ben@croston.org>
parents: 17
diff changeset
38 batch.do_something('call 1')
4b62687da58a Added batch requests
Ben Croston <ben@croston.org>
parents: 17
diff changeset
39 batch.do_something('call 2')
4b62687da58a Added batch requests
Ben Croston <ben@croston.org>
parents: 17
diff changeset
40 batch()
15
3c19ae16fc7a Renamed to AuthRPC
Ben Croston <ben@croston.org>
parents: 4
diff changeset
41