<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Changes to WSGI to Support WebSockets</title>
	<atom:link href="http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/</link>
	<description>A better way to write network applications</description>
	<lastBuildDate>Fri, 13 Jan 2012 03:30:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Ryan Williams</title>
		<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/#comment-44</link>
		<dc:creator><![CDATA[Ryan Williams]]></dc:creator>
		<pubDate>Fri, 07 May 2010 22:34:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.eventlet.net/?p=65#comment-44</guid>
		<description><![CDATA[Yeah, those were failing in the &lt;a href=&quot;http://eventlet.net/hudson/job/Eventlet%20%28trunk%29/&quot; rel=&quot;nofollow&quot;&gt;continuous build&lt;/a&gt; already.  Check that link out if you haven&#039;t seen it already.  I fixed those failures the other day, so you should be good to go.

Thanks for the changes, glad to have a serious complement of tests!]]></description>
		<content:encoded><![CDATA[<p>Yeah, those were failing in the <a href="http://eventlet.net/hudson/job/Eventlet%20%28trunk%29/" rel="nofollow">continuous build</a> already.  Check that link out if you haven&#8217;t seen it already.  I fixed those failures the other day, so you should be good to go.</p>
<p>Thanks for the changes, glad to have a serious complement of tests!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/#comment-42</link>
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 06 May 2010 04:26:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.eventlet.net/?p=65#comment-42</guid>
		<description><![CDATA[Hi Ryan,

I&#039;ve made some more changes:

Added eventlet.websocket which is the WebSocket object in examples/websocket with some of my changes.
Added my modified tests from the repoze project I was working on for 100% test coverage for the websocket stuff.
I think my last set of changes re ALREADY_HANDLED may have been incomplete, so added a little diff that I missed.

I have a couple of failing tests under OSX:


======================================================================
FAIL: test_cancel_accumulated (tests.hub_test.TestTimerCleanup)
----------------------------------------------------------------------
Traceback (most recent call last):
  File &quot;/Users/benford/pycharm/eventlet/tests/hub_test.py&quot;, line 19, in test_cancel_accumulated
    self.assert_(hub.timers_cancelled &lt; len(hub.timers))
AssertionError

======================================================================
FAIL: test_cancel_proportion (tests.hub_test.TestTimerCleanup)
----------------------------------------------------------------------
Traceback (most recent call last):
  File &quot;/Users/benford/pycharm/eventlet/tests/hub_test.py&quot;, line 39, in test_cancel_proportion
    self.assert_(hub.timers_cancelled &lt; len(hub.timers))
AssertionError

(these were failing before my changes) have you seen these before?

Cheers,
Ben
P.S. I think I sent you a real pull request this time :-)]]></description>
		<content:encoded><![CDATA[<p>Hi Ryan,</p>
<p>I&#8217;ve made some more changes:</p>
<p>Added eventlet.websocket which is the WebSocket object in examples/websocket with some of my changes.<br />
Added my modified tests from the repoze project I was working on for 100% test coverage for the websocket stuff.<br />
I think my last set of changes re ALREADY_HANDLED may have been incomplete, so added a little diff that I missed.</p>
<p>I have a couple of failing tests under OSX:</p>
<p>======================================================================<br />
FAIL: test_cancel_accumulated (tests.hub_test.TestTimerCleanup)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Traceback (most recent call last):<br />
  File &#8220;/Users/benford/pycharm/eventlet/tests/hub_test.py&#8221;, line 19, in test_cancel_accumulated<br />
    self.assert_(hub.timers_cancelled &lt; len(hub.timers))<br />
AssertionError</p>
<p>======================================================================<br />
FAIL: test_cancel_proportion (tests.hub_test.TestTimerCleanup)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Traceback (most recent call last):<br />
  File &quot;/Users/benford/pycharm/eventlet/tests/hub_test.py&quot;, line 39, in test_cancel_proportion<br />
    self.assert_(hub.timers_cancelled &lt; len(hub.timers))<br />
AssertionError</p>
<p>(these were failing before my changes) have you seen these before?</p>
<p>Cheers,<br />
Ben<br />
P.S. I think I sent you a real pull request this time :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Williams</title>
		<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/#comment-38</link>
		<dc:creator><![CDATA[Ryan Williams]]></dc:creator>
		<pubDate>Sun, 11 Apr 2010 23:12:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.eventlet.net/?p=65#comment-38</guid>
		<description><![CDATA[For whatever reason I didn&#039;t get the pull request; however I saw the changes in your repo and pulled them.  Let me know when you&#039;ve got more tests!]]></description>
		<content:encoded><![CDATA[<p>For whatever reason I didn&#8217;t get the pull request; however I saw the changes in your repo and pulled them.  Let me know when you&#8217;ve got more tests!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/#comment-35</link>
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Fri, 09 Apr 2010 06:25:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.eventlet.net/?p=65#comment-35</guid>
		<description><![CDATA[I&#039;ve made some initial changes and submitted a pull request on bitbucket

Ben]]></description>
		<content:encoded><![CDATA[<p>I&#8217;ve made some initial changes and submitted a pull request on bitbucket</p>
<p>Ben</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Williams</title>
		<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/#comment-34</link>
		<dc:creator><![CDATA[Ryan Williams]]></dc:creator>
		<pubDate>Thu, 08 Apr 2010 19:56:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.eventlet.net/?p=65#comment-34</guid>
		<description><![CDATA[Yes, I&#039;d love a patch!  Thanks for thinking of this, fixing this will definitely make the websocket implementation even more wsgi-compatible!]]></description>
		<content:encoded><![CDATA[<p>Yes, I&#8217;d love a patch!  Thanks for thinking of this, fixing this will definitely make the websocket implementation even more wsgi-compatible!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://blog.eventlet.net/2010/02/13/changes-to-wsgi-to-support-websockets/#comment-33</link>
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 08 Apr 2010 04:34:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.eventlet.net/?p=65#comment-33</guid>
		<description><![CDATA[Hi,

I&#039;ve been busy adding websocket support to a repoze.bfg app over the last few days and have hit a little wrinkle:

When you return ALREADY_HANDLED parts of your WSGI pipeline are expecting an iterable. For example if you want to use the excellent Werkzeug debuggung middleware, there&#039;s this piece of code in your upstream pipeline:

try:
            app_iter = self.app(environ, start_response)
            for item in app_iter:
                yield item
            if hasattr(app_iter, &#039;close&#039;):
                app_iter.close()
...

So here when the websocket is closed on the client side you&#039;ll get an exception on the server side. There are a couple of other WSGI libraries that do this and it is a part of the WSGI api that you have a callable that returns an iterable.

I&#039;ve got a fork of eventlet on bitbucket would you like me to send a patch?

Thanks for the great work,
Ben]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I&#8217;ve been busy adding websocket support to a repoze.bfg app over the last few days and have hit a little wrinkle:</p>
<p>When you return ALREADY_HANDLED parts of your WSGI pipeline are expecting an iterable. For example if you want to use the excellent Werkzeug debuggung middleware, there&#8217;s this piece of code in your upstream pipeline:</p>
<p>try:<br />
            app_iter = self.app(environ, start_response)<br />
            for item in app_iter:<br />
                yield item<br />
            if hasattr(app_iter, &#8216;close&#8217;):<br />
                app_iter.close()<br />
&#8230;</p>
<p>So here when the websocket is closed on the client side you&#8217;ll get an exception on the server side. There are a couple of other WSGI libraries that do this and it is a part of the WSGI api that you have a callable that returns an iterable.</p>
<p>I&#8217;ve got a fork of eventlet on bitbucket would you like me to send a patch?</p>
<p>Thanks for the great work,<br />
Ben</p>
]]></content:encoded>
	</item>
</channel>
</rss>

