On Mon, Feb 02, 2009 at 06:12:33PM -0800, Marek Szuba wrote:
-> On Sat, 31 Jan 2009 07:20:57 -0800 (PST)
-> Istvan Albert <[email protected]> wrote:
-> 
-> > I recall a post by Titus on this from some time ago, here it is:
-> > http://advogato.org/person/titus/diary/370.html
-> I've seen the recipe he mentions in that post, indeed it was the first
-> one I have come across. There is nothing wrong with it, one should
-> however keep in mind the following:
->
->  - it isn't threaded, meaning that only one client connection can be
-> handled at a time;

I think this can be addressed by making it multithreaded with the
SocketServer.ThreadingMixIn, yes?  Although threading adds in a big heap
o' problems... pygr.Data is probably not threadsafe, right, Chris?

->  - it only handles SSL connections, meaning a separate, different server
-> has to be launched to handle non-SSL ones;

If it's important to provide a non-HTTPS connection, we can run two
servers at once, in different threads.  This does mean that each served
function needs to synchronize data access appropriately -- which is
going to be an issue in *any* threaded server.

Authentication and privileged functions can then be limited to the HTTPS
server.

->  - it doesn't support authentication, which we will need (along with
-> the possibility of either specifying methods that can only be called
-> after successful authentication, or a more complex access-control
-> system).

XML-RPC as a protocol doesn't support authentication AFAIK, and it's
based on HTTP, which is stateless, so you can't simply authenticate the
connection.  I dealt with this in one of my projects by simply serving
an auth cookie with any privileged function.

-> All that brings me back to the question from my previous e-mail, that
-> is - whether we should start with backward compatibility and build on
-> top of that or start with a list of requirements and build down.

I guess I'm in favor of a conservative and boring approach which is to
add these things as we need them & only redesign if it causes problems
:)

cheers,
--titus
-- 
C. Titus Brown, [email protected]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pygr-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pygr-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to