Phillip J. Eby wrote:
 Obviously plenty of
people have a desire to have a place to store request-local data
without passing the environment everywhere. Using threading.local is a
good way to do that, unless the server is not using one thread per
request. Giving people an interface to write to that doesn't
specifically mention threads and is customizable by the wsgi server is
what I am suggesting.

Er, and how do you propose people *access* that interface rather than a specific implementation of it? Wouldn't we need to pass it in the environ, thereby rendering the whole thing even more obviously moot? :)

I can't decide what the question is here. You mean, how can a greenlet request-local provider indicate that they are providing a way of getting the current request? Or, how can a consumer get access, given that it can live in any module, and the consumer presumably doesn't have an environ?

I imagine from what Donovan says that there would actually be one module, requestlocal, and one implementation, and that implementation would be awesome and support greenlets and threads, and whatever else comes along (which luckily is not much else), and I guess maybe has a middleware that would register the request on entry and deregister it on exit, and consumers would do:

  import requestlocal

  def whatever():
      environ = requestlocal.get_request()

and we'd just all agree on this singular implementation, because I don't see any way around that.

--
Ian Bicking : [EMAIL PROTECTED] : http://blog.ianbicking.org
_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to