On Tue, Nov 24, 2009 at 4:16 PM, Sylvain Hellegouarch <span dir="ltr">&lt;<a href="mailto:sh@defuze.org">sh@defuze.org</a>&gt;</span> wrote:<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I&#39;m not aware of any problems with representing the request with a dictionary.  Can you give examples?<br>
</blockquote>
<br></div>
Though it shouldn&#39;t be considered as a problem, the fact that probably no existing framework actually use the raw dictionary (there is, in almost all cases, a wrapping into a friendlier object), one might wonder why keeping such a low level interface rather than directly provide a higher level interface is a good idea. After all creating those dictionaries for no good reason aside from sending them to the next layer which will map them into a WebOb, a yaro, a cherrypy request, or zope request, etc. seems slightly pointless (I&#39;m not versed into Python internals, but doesn&#39;t it have also a cost of creating rather useless objects repeatedly like that?) I know WSGI tries hard not to force into one implementation but still...<font class="Apple-style-span" color="#888888"><br>

</font></blockquote></div><div><br></div>Well, that&#39;s hardly a trivial requirement, nor a trivial accomplishment.  Also the dictionary is a complete and inspectable representation of the environment, divorced from any possible trickery on the part of frameworks.  It&#39;s a common gateway between servers and frameworks, and can be used as a gateway between middleware and applications.  And it&#39;s really fairly common for middleware to use the raw dictionary without any object involved.<br clear="all">

<br>-- <br>Ian Bicking  |  <a href="http://blog.ianbicking.org">http://blog.ianbicking.org</a>  |  <a href="http://topplabs.org/civichacker">http://topplabs.org/civichacker</a><br>