tag:forum.world.st,2006:forum-1401530Nabble - Swazoo2024-03-28T16:30:23Z<img src="https://forum.world.st/file/n1401530/SwazooLogo.png" border="0" class="left"/>Smalltalk Web Server<br>
<a href="http://www.swazoo.org" target="_top" rel="nofollow" link="external">www.swazoo.org</a>tag:forum.world.st,2006:post-4689801ching.dls@gmail.com wants to follow you. View profile?2013-05-25T02:46:17Z2013-05-25T02:46:17Zching.dls@gmail.com-2
<title></title><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<table cellspacing="0" cellpadding="10" width="100%" border="0" style="margin: 0 auto;"><tbody><tr><td bgcolor="#ffffff" style="background-color: #ffffff; text-align: center; font-size: 12px; font-family: Arial,Helvetica,sans-serif">
<a href="http://invites.infoaxe.net/signup_e.html?fullname=&email=swazoo-devel@lists.sourceforge.net&invitername=Ching&inviterid=16564978&userid=0&token=0&emailmasterid=57674e01-48fa-441e-8c1f-aa75a6f6d929&from=ching.dls@gmail.com&uie=0&src=clickhere" style="color: #000; text-decoration: underline;" target="_blank" rel="nofollow" link="external"> Click here to discover ching.dls@...'s favorite websites!</a>
</td></tr></tbody></table>
<center>
<table cellspacing="0" cellpadding="0" width="600" border="0" style="margin: 0 auto;">
<tbody><tr><td width="10"></td>
<td width="580" bgcolor="#0071BC" style="
color: white;
height: 52px;
padding: 16px 20px;
margin: 0 10px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 20px;
line-height: 18px;"><a href="javascript:void(0)" style="text-decoration: none;color: white;cursor:default">ching.dls@...</a> wants to follow you</td>
<td width="10"></td></tr>
<tr><td colspan="3" bgcolor="#ffffff" style="
color: #606060;
padding: 10px 50px 0px 50px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;">
<h1 style="text-align:center; margin: 10px 0px" class="font-size: 2em; ">Is <a href="#" style="text-decoration: none;color: #08C;cursor:default" target="_top" rel="nofollow" link="external">ching.dls@...</a> your friend?</h1>
</td></tr>
<tr><td colspan="3" bgcolor="#ffffff" style="
color: #606060; text-align: center; padding: 0px 50px 10px 50px;">
<a href="http://invites.infoaxe.net/signup_e.html?fullname=&email=swazoo-devel@lists.sourceforge.net&invitername=Ching&inviterid=16564978&userid=0&token=0&emailmasterid=57674e01-48fa-441e-8c1f-aa75a6f6d929&from=ching.dls@gmail.com&uie=0&src=yes" class="btn" style="
display: inline-block;
padding: 4px 10px 4px;
margin-bottom: 0;
font-size: 13px;
line-height: 18px;
color: #333;
text-align: center;
text-decoration: none;
vertical-align: middle;
cursor: pointer;
padding: 9px 50px;
font-size: 15px;
line-height: normal;
background-color: #ff4225;
border-color: #0044CC;
border-color: #CCC;
color: white;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 20px;
font-weight: bold; margin-right: 20px;" target="_top" rel="nofollow" link="external">Yes</a>
<a class="btn" href="http://invites.infoaxe.net/signup_e_no.html?fullname=&email=swazoo-devel@lists.sourceforge.net&invitername=Ching&inviterid=16564978&userid=0&token=0&emailmasterid=57674e01-48fa-441e-8c1f-aa75a6f6d929&from=ching.dls@gmail.com&uie=0&src=no" style="
display: inline-block;
padding: 4px 10px 4px;
margin-bottom: 0;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 18px;
color: #333;
text-align: center;
text-decoration: none;
vertical-align: middle;
background-color: #F5F5F5;
border: 1px solid #CCC;
border-bottom-color: #BBB;
cursor: pointer;
padding: 4px 20px;" target="_top" rel="nofollow" link="external">No</a>
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; padding-top:10px; color: #444;" align="center">
Following <a href="#" style="text-decoration: none;color: #08C;cursor:default" target="_top" rel="nofollow" link="external">ching.dls@...</a> helps you discover great websites they recommend :)
</p>
</td></tr>
<tr><td width="10"></td>
<td width="580" bgcolor="#e6e6e6" style="padding: 10px; color: #b0b0b0;
font-family: Arial,Helvetica,sans-serif;
font-size: 11px;
text-align: center;">
<a href="http://invites.infoaxe.net/uns_inviter.jsp?fullname=&email=swazoo-devel@lists.sourceforge.net&invitername=Ching&inviterid=16564978&userid=0&token=0&emailmasterid=57674e01-48fa-441e-8c1f-aa75a6f6d929&from=ching.dls@gmail.com&uie=0" target="_blank" style="color:#3b5998; text-decoration: underline;font-size:13px;" rel="nofollow" link="external">Click here to unsubscribe from such emails from ching.dls@... or all friends</a><br /><br /><br /><br /> P.O BOX 70928, Sunnyvale, CA, 94086
</td>
<td width="10"></td></tr>
</tbody></table></center>
<br />------------------------------------------------------------------------------
<br/>Try New Relic Now & We'll Send You this Cool Shirt
<br/>New Relic is the only SaaS-based application performance monitoring service
<br/>that delivers powerful full stack analytics. Optimize and monitor your
<br/>browser, app, & servers with just a few lines of code. Try New Relic
<br/>and get this awesome Nerd Life shirt! <a href="http://p.sf.net/sfu/newrelic_d2d_may" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/newrelic_d2d_may</a><br />_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4689801&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-4653445[ANN] Swazoo beta3 with final WebSockets released2012-10-31T12:06:41Z2012-10-31T12:06:41ZJanko Mivšek
Dear all,
<br/><br/>Here is hopefully last beta for Swazoo 2.3 with WebSockets upgraded to
<br/>final RFC. Thanks to Hans-Martin Mosner :)
<br/><br/>You can find it with Squeak/Pharo on SqueakSource:
<br/><br/> <a href="http://www.squeaksource.com" target="_top" rel="nofollow" link="external">http://www.squeaksource.com</a><br/> /MetacelloRepository/ConfigurationOfSwazoo2
<br/> <a href="http://www.squeaksource.com/Swazoo/Swazoo-2.3beta3.0.mcz" target="_top" rel="nofollow" link="external">http://www.squeaksource.com/Swazoo/Swazoo-2.3beta3.0.mcz</a><br/><br/>and for VisualWorks in Public Store.
<br/><br/>>From release comment:
<br/><br/>Swazoo 2.3 beta3 release, same as on Squeak/Pharo
<br/><br/>1. WebSockets protocol upgraded to a final RFC thanks to Hans-Martin Mosner
<br/><br/>2. IP blacklising and whitelisting introduced, add IP address patterns
<br/>to collections in
<br/> SwazooServer singleton ipBlacklist or ipWhiteList
<br/>- urlBlacklist added, to filter by url patterns
<br/>- ipAllowedList added, for kind of 'root' IPs, always allowed access
<br/><br/>3. more:
<br/>- SwazooServer instvar #other introduced, #watchdog removed and moved to
<br/>#other
<br/>- SpTimestamp extended with #millisecond method
<br/>- HTTPRequest printOn: for POSTs prints postdata or entity body too
<br/>- Collection count: added on VW, for Squeak/Pharo compatibility
<br/><br/>2. pathces:
<br/>- HTTPConnection close didn't terminate the loop process
<br/>- SwazooWebSocket asByteArray:, implemented here for portability
<br/>- Sport patch: SpAbstractSocketReadRequest #close missing
<br/>- HTTPRequest printOn: prints AJAX for such requests
<br/>- HTTPConnection interact raises error for non OsErrors (VW specific!)
<br/>- extension: Collection #count: added, for compatibility with Squeak/Pharo
<br/>- HTTPConnection getAndDispatchMessages don't close http10 with keepAlive!
<br/>- SwazooStream anyDataReady ignore any exception when #fillBuffer
<br/>- SwazooURI proper parsing of protocol, host and port
<br/>- patch: HTTPRequest printOn:
<br/>- SwazooServer
<br/> -- stop, stops all instances of HTTPServer, just for sure
<br/> -- category private-wathcdog removed
<br/>- FileResponse printEntityOn: binary
<br/>- SpFileStream binary, nextAvailable
<br/>- Collection count: added
<br/>- patch: HTTPConnection close nils self server, nextPutError ignores any
<br/>further error
<br/>- HTTPConnection produceResponseFor: exception catching removed, there
<br/>is another one upper in #interact anyway
<br/><br/>Best regards
<br/>Janko
<br/><br/>------------------------------------------------------------------------------
<br/>Everyone hates slow websites. So do we.
<br/>Make your web apps faster with AppDynamics
<br/>Download AppDynamics Lite for free today:
<br/><a href="http://p.sf.net/sfu/appdyn_sfd2d_oct" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/appdyn_sfd2d_oct</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4653445&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-4633589WebSockets2012-06-06T14:22:55Z2012-06-06T14:22:55ZHans-Martin Mosner
Hi folks (first post to this list)
<br/>recently I got interested in HTML5 stuff and decided I wanted to play with WebSockets. Great, Swazoo beta has it, I thought.
<br/>However, the code did not work with a recent browser, and I saw that it implements an old draft version of the protocol
<br/>which is deprecated.
<br/>Just for fun I've implemented most of the protocol in RFC 6455, at least enough to get a WebSocket server up and running
<br/>and exchange messages.
<br/><br/>Where should I post the changes for this?
<br/><br/>Cheers,
<br/>Hans-Martin
<br/><br/>------------------------------------------------------------------------------
<br/>Live Security Virtual Conference
<br/>Exclusive live event will cover all the ways today's security and
<br/>threat landscape has changed and how IT managers can respond. Discussions
<br/>will include endpoint security, mobile security and the latest in malware
<br/>threats. <a href="http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/" target="_top" rel="nofollow" link="external">http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4633589&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-4631733[ANN] WebAsset, SwazooPragmaResource (and SwazooPragmaResourceDemo), and SwazooAmberHost2012-05-24T10:14:12Z2012-05-24T10:14:12Zcdavidshaffer
These are two small "REST"-related packages that I just replicated to the public store repository. They are VisualWorks-only for now. From their package comments:<div><br></div><div>WebAssets</div><div>-----------------</div><div><div>Extension via subclassing of Assets that overrides all imports so that assets are imported as byte arrays. Also has methods for looking "inside" an asset that is a zip file.</div></div><div><br></div><div><br></div><div>SwazooPragmaResource</div><div>-----------------------------------</div><div><div>I provide a SwazooResource (response handler) that uses Pragmas to determine the appropriate action for a request. See my various class' documentation for details.</div><div><br></div><div>Load SwazooPragmaResourceDemo to see a sample of using thie package and Swazoo server setup code.</div></div><div><br></div><div><br></div><div>Basically SwazooPragmaResource is similar to Seaside-REST but not as well designed or tested. :-(</div><div><br></div><div><br></div><div>I created these two packages so that I could create:</div><div><br></div><div>SwazooAmberHost</div><div>---------------------------</div><div><br></div><div><div>I host the Amber smalltalk source code. See <a href="http://amber-lang.net" target="_top" rel="nofollow" link="external">http://amber-lang.net</a>. See class comments in AmberResource for how to set up your server.</div></div><div><br></div><div><br></div><div>I have another package in the works that includes publishing your amber code to VisualWorks (just held in Strings, not parsed etc). This is similar to Amber Skeleton (<a href="http://gemstonesoup.wordpress.com/2012/04/22/amber-skeleton-lookout-kaliningrad/" target="_top" rel="nofollow" link="external">http://gemstonesoup.wordpress.com/2012/04/22/amber-skeleton-lookout-kaliningrad/</a>) or Kaliningrad (<a href="http://gemstonesoup.wordpress.com/2011/10/08/kaliningrad-developing-with-amber-seaside-and-monticello/" target="_top" rel="nofollow" link="external">http://gemstonesoup.wordpress.com/2011/10/08/kaliningrad-developing-with-amber-seaside-and-monticello/</a>) but it isn't quite working yet.</div><div><br></div><div>David</div><div><br></div><br />------------------------------------------------------------------------------
<br/>Live Security Virtual Conference
<br/>Exclusive live event will cover all the ways today's security and
<br/>threat landscape has changed and how IT managers can respond. Discussions
<br/>will include endpoint security, mobile security and the latest in malware
<br/>threats. <a href="http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/" target="_top" rel="nofollow" link="external">http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/</a><br />_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4631733&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-4631726Swazoo.HTTPConnection>>produceResponseFor: uses for:onAnyExceptionDo: catching Notifications2012-05-24T08:51:57Z2012-05-24T08:51:57Zcdavidshaffer
I'm finding the exception handling in Swazoo.HTTPConnection>>produceResponseFor: to be a bit intrusive. Maybe I'm the only one? My Swazoo response handlers are basically forced to include something like:
<br/><br/>[self performOperation] on: Notification do: [:ex | ex resume]
<br/><br/>to avoid having Notifications that are normally happily ignored from trigger Swazoo to produce #internalServerError. The most common example is EndOfStreamNotification which is often silently triggered and ignored by code which expects to get a nil back from an exhausted stream. My suggestion is to change to for:onAnyErrorDo: as listed below. Anyone else in favor of this change?
<br/><br/>produceResponseFor: aSwazooTask
<br/> aSwazooTask request isNil ifTrue: [^nil].
<br/> SpExceptionContext for:
<br/> [aSwazooTask response: (self server answerTo: aSwazooTask request).
<br/> aSwazooTask request ensureFullRead. "in case if defered parsing not done in HTTPost"
<br/> aSwazooTask request wantsConnectionClose
<br/> ifTrue: [aSwazooTask response informConnectionClose]
<br/> ifFalse: [aSwazooTask request isKeepAlive
<br/> ifTrue: [aSwazooTask response informConnectionKeepAlive] ].
<br/> aSwazooTask response isStreamed
<br/> ifFalse: "streamed ones did that by themselves"
<br/> [self nextPutResponse: aSwazooTask response toRequest: aSwazooTask request]
<br/> ifTrue: [aSwazooTask response waitClose]. "to be sure all is sent"
<br/> aSwazooTask request isGet ifFalse: [self close] ] "to avoid strange 200 bad requests after two consecutive POSTs, but it is really a hack and original reason must be found!" "jan11: do we still need this?"
<br/> onAnyErrorDo:
<br/> [:ex |
<br/> self nextPutError: HTTPResponse internalServerError.
<br/> ex defaultAction. "usually raise an UHE window"
<br/> self close]
<br/>------------------------------------------------------------------------------
<br/>Live Security Virtual Conference
<br/>Exclusive live event will cover all the ways today's security and
<br/>threat landscape has changed and how IT managers can respond. Discussions
<br/>will include endpoint security, mobile security and the latest in malware
<br/>threats. <a href="http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/" target="_top" rel="nofollow" link="external">http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4631726&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-4597118Swazoo in OpenShift2012-04-29T16:08:26Z2012-04-29T16:08:26Zgarduino
Hi Guys:
<br/><br/>Some days ago I asked on irc some advices about Swazoo because I can't make it work in OpenShift (The RedHat PaaS cloud solution).
<br/><br/>Now, I want to share here the problem, it was that Swazoo seems to ignore the ip address specified at startup and bind to all interfaces (0.0.0.0).
<br/><br/>And that binding to all network interfaces is not allowed on OpenShift [for security reasons], the only allowed IP address is OPENSHIFT_INTERNAL_IP.
<br/><br/>¿Anyone can suggest some solution?
<br/><br/>Thanks.
tag:forum.world.st,2006:post-4598964Serving files from Swazoo for VisualWorks 7.8.12012-04-30T10:50:23Z2012-04-30T10:50:23Zcdavidshaffer
I'm trying to serve file-based Amber Smalltalk using Swazoo 2.3beta2.1
<br/>from the public Store Repository running on VisualWorks 7.8. The first
<br/>problem I encounter is a DNU in FileResponse>>printEntityOn: at the line
<br/>that reads:
<br/><br/> rs lineEndTransparent.
<br/><br/>It appears that rs is an SpFileStream which doesn't understand this
<br/>selector. The fix is simple:
<br/><br/>SpFileStream>>lineEndTransparent
<br/><br/> underlyingStream lineEndTransparent
<br/><br/>which then leads to a DNU at FileResponse>>printEntityOn: (same method)
<br/>at the line that reads:
<br/><br/> [[[rs atEnd] whileFalse: [aStream nextPutAll: (rs
<br/>nextAvailable: 2000)]]
<br/><br/>again, adding nextAvailable: to SpFileStream fixes the problem:
<br/><br/>SpFileStream>>nextAvailable: aNumber
<br/><br/> ^underlyingStream nextAvailable: aNumber
<br/><br/>After these changes Swazoo seems to serve text files but it doesn't do a
<br/>good job serving binary files. I found that changing the send of
<br/>#lineEndTransparent to a send of #binary gives me a robust (so far)
<br/>server. Thought these notes might be helpful to someone...of course I
<br/>could simply be misusing this entire framework...
<br/><br/>David
<br/><br/>------------------------------------------------------------------------------
<br/>Live Security Virtual Conference
<br/>Exclusive live event will cover all the ways today's security and
<br/>threat landscape has changed and how IT managers can respond. Discussions
<br/>will include endpoint security, mobile security and the latest in malware
<br/>threats. <a href="http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/" target="_top" rel="nofollow" link="external">http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=4598964&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-4595515Swazoo in OpenShift2012-04-28T17:07:02Z2012-04-28T17:07:02Zgarduino
Hi Guys:
<br/><br/>Some days ago I asked on irc some advices about Swazoo because I can't make it work in OpenShift (The RedHat PaaS cloud solution).
<br/><br/>Now, I want to share here the problem, it was that Swazoo seems to ignore the ip address specified at startup and bind to all interfaces (0.0.0.0).
<br/><br/>And that binding to all network interfaces is not allowed on OpenShift [for security reasons], the only allowed IP address is OPENSHIFT_INTERNAL_IP.
<br/><br/>¿Anyone can suggest some solution?
<br/><br/>Thanks.
tag:forum.world.st,2006:post-3716919Swazoo bugs that can affect Seaside2011-08-03T14:28:05Z2011-08-03T14:28:05ZDale Henrichs
In the last week or so, I've run into a couple of bugs in Swazoo that may be of interest to any Seasiders using Swazoo in their applications. I've got workarounds for GLASS if anyone is interested.
<br/><br/>The first bug is in SwazooURI where the query fields in an URL will be incorrectly parsed if an `&` or other special character is embedded in the value of the field. The following example illustrates the bug:
<br/><br/> | url ans1 ans2 |
<br/> url := 'www.foo.com/index.html?foo=1&bar=', 'bar"sample method"^#($&)' encodeForHTTP
<br/> ans1 := SwazooURI fromString: url.
<br/><br/> ans2 := SwazooURI new.
<br/> ans2 fromStream: url readStream.
<br/><br/> ans1 printString = ans2 printString
<br/><br/>SwazooURI>>fromString: (called by SwazooURI class>>fromString:) prematurely decodes the input string exposing the `&` and causes the parser to think that there is an additional query field in the input url and results in the truncation of the value of the `bar` field. The fix is to remove the call to HTTPString class>>decodedHTTPFrom: from SwazooURI>>fromString: ... the subsequent parsing of the queryfields already call HTTPString class>>decodedHTTPFrom:
<br/><br/>This bug is present in Swazoo-2.3beta2.6
<br/><br/>----
<br/><br/>The second bug is in WASwazooAdaptor>>requestUrlFor:. In this case WAUrl is fed the printString of the #uri (an instance of SwazooURI) as follows:
<br/><br/> requestUrlFor: aNativeRequest
<br/> | url |
<br/> url := ((WAUrl absolute: aNativeRequest uri printString)
<br/> decodedWith: self codec).
<br/> aNativeRequest isEncrypted
<br/> ifTrue: [ url scheme: 'https' ].
<br/> ^ url
<br/><br/>The problem occurs because WAUrl class>>absolute: expects the url to be url encoded, but the printString for SwazooURI prints the decoded url. Again this causes problems when HTTP special characters are in the input url. The other adaptors feed the 'raw' encoded url string to WAUrl, but the Swazoo adaptor does not ... SwazooURI does not keep the encoded source url around, so in my workaround I changed SwazooURI printQueriesOn: to reencode the query parameters ...
<br/><br/>Dale
<br/><br/><br/>------------------------------------------------------------------------------
<br/>BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
<br/>The must-attend event for mobile developers. Connect with experts.
<br/>Get tools for creating Super Apps. See the latest technologies.
<br/>Sessions, hands-on labs, demos & much more. Register early & save!
<br/><a href="http://p.sf.net/sfu/rim-blackberry-1" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/rim-blackberry-1</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3716919&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3721386Fwd: Re: [Help-smalltalk] Swazoo binding on localhost (127.0.0.1)2011-08-05T07:46:10Z2011-08-05T07:46:10ZPaolo Bonzini-2
<div class='shrinkable-quote'>> On 08/04/2011 06:25 PM, Holger Hans Peter Freyther wrote:
<br/>>> Hi all,
<br/>>>
<br/>>> I tried to bind Swazoo to the localhost but then it does not respond to
<br/>>> requests anymore. It seems to throw an exception in the
<br/>>> SiteIdentifier>>#ipMatch: for the input we get. There is the special case for
<br/>>> the '0.0.0.0' but for any other ip address it fails:
<br/>>
<br/>> I would propose these two patches. It feels a bit weird to get from
<br/>> SpIPAddress to string to SpIPAddress.
<br/></div><br />------------------------------------------------------------------------------
<br/>BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
<br/>The must-attend event for mobile developers. Connect with experts.
<br/>Get tools for creating Super Apps. See the latest technologies.
<br/>Sessions, hands-on labs, demos & much more. Register early & save!
<br/><a href="http://p.sf.net/sfu/rim-blackberry-1" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/rim-blackberry-1</a><br />_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3721386&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/><!--start-attachments--><div class="small"><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>0002-HTTP-Conver-SpIPAddress-to-String-so-it-can-be-resol.patch</strong> (1K) <a href="https://forum.world.st/attachment/3721386/0/0002-HTTP-Conver-SpIPAddress-to-String-so-it-can-be-resol.patch" target="_top" rel="nofollow" link="external">Download Attachment</a><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>0003-HTTPRequest-printOn-Use-nextPutAll-for-strings.patch</strong> (1K) <a href="https://forum.world.st/attachment/3721386/1/0003-HTTPRequest-printOn-Use-nextPutAll-for-strings.patch" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->
tag:forum.world.st,2006:post-3616702Re: [Pharo-project] Swazoo keeping HTTPConnections open2011-06-22T04:15:30Z2011-06-22T04:15:30ZJanko Mivšek
Patch included in Swazoo. Thanks Nico!
<br/><br/> - <a href="http://www.squeaksource.com/Swazoo/Swazoo-2.3beta2.3" target="_top" rel="nofollow" link="external">http://www.squeaksource.com/Swazoo/Swazoo-2.3beta2.3</a><br/> - ConfigurationOfSwazoo2 2.3 also updated
<br/><br/>Best regards
<br/>Janko
<br/><br/>S, Nicolas Petton piše:
<div class='shrinkable-quote'><br/>> Hi Bernat,
<br/>>
<br/>> I have a patch that may solve your problem that will be integrated
<br/>> mainstream. In the meantime:
<br/>>
<br/>> HTTPConnection>>close
<br/>> self stream notNil ifTrue: [self stream close. stream := nil].
<br/>> self server notNil ifTrue: [self server removeConnection: self].
<br/>> self loop notNil ifTrue: [
<br/>> | process |
<br/>> process := loop. loop := nil.
<br/>> process terminate]
<br/>>
<br/>>
<br/>> HTH,
<br/>> Nicolas
<br/>>
<br/>> Le mercredi 22 juin 2011 à 11:36 +0200, Bernat Romagosa a écrit :
<br/>>> Hi list, I don't know where should I address this issue, so please
<br/>>> excuse me if this mail is a bit off-topic.
<br/>>>
<br/>>>
<br/>>> I've been running an Iliad app in Pharo for a couple of months, and
<br/>>> just today I realised the image was behaving quite sluggish, so I
<br/>>> checked the process browser and discovered thousands (literally) of
<br/>>> Delay >> wait instances going on. Inspecting them, I found out they
<br/>>> had all been spawned by Swazoo's HTTPConnection >> interact.
<br/>>>
<br/>>>
<br/>>> So what I did is HTTPConnection allInstancesDo: [:c | c close], which
<br/>>> took quite a while to conclude, and the problem was solved, but these
<br/>>> processes keep on spawning every time a user logs in, and they never
<br/>>> seem to die unless I tell them to.
<br/>>>
<br/>>>
<br/>>> Also, killing these processes seems to have no effect on the
<br/>>> application behaviour at all, all sessions stay where they should and
<br/>>> everything is alright, so I'm even considering using a scheduler that
<br/>>> kills'em'all every hour or so (how elegant could this be!)
<br/>>>
<br/>>>
<br/>>> Has anybody ran into a similar issue before?
<br/>>>
<br/>>>
<br/>>> Thanks!
<br/>>>
<br/>>> --
<br/>>> Bernat Romagosa.
<br/>>>
</div><br/>------------------------------------------------------------------------------
<br/>Simplify data backup and recovery for your virtual environment with vRanger.
<br/>Installation's a snap, and flexible recovery options mean your data is safe,
<br/>secure and there when you need it. Data protection magic?
<br/>Nope - It's vRanger. Get your free trial download today.
<br/><a href="http://p.sf.net/sfu/quest-sfdev2dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/quest-sfdev2dev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3616702&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3611291Re: ZnServer - Swazoo - Comanche2011-06-20T04:53:11Z2011-06-20T04:53:11ZJanko Mivšek
Hi guys,
<br/><br/>For Swazoo it would be fine to merge its HTTP framework with something
<br/>else and here I see two possibilities, one from WebClient and another
<br/>from Zinc. That way we can achieve the same HTTP library for both Swazoo
<br/>and Zinc or WebClient tools. And later for web frameworks too, no need
<br/>to transform requests and responses from/to framework specific ones as
<br/>it is a case now.
<br/><br/>Main goal of Swazoo is to serve one or more virtual websites directly to
<br/>the public Internet as optimal and reliable as possible, next goal is
<br/>wide cross-dialect portability. Swazoo is doing that job reliably for 11
<br/>years now, so it will certainly stay there to continue. Just that it
<br/>would be nice to improve it from time to time and having now Zinc and
<br/>WebClient on hand it is a just nice opportunity for thinking about such
<br/>a merge.
<br/><br/>Best regards
<br/>Janko
<br/><br/>S, Sven Van Caekenberghe piše:
<div class='shrinkable-quote'><br/>> Hello Germán,
<br/>>
<br/>> On 19 Jun 2011, at 16:14, Germán Arduino wrote:
<br/>>
<br/>>> Hi Sven, People:
<br/>>>
<br/>>> I want to ask about ZnServer, is focused in have at some point all the
<br/>>> features of Swazoo or Comanche and being itself a complete web server?
<br/>>>
<br/>>> Or the goal is only to be a default implementation, as the comment says?
<br/>>>
<br/>>> Thanks.
<br/>>> Germán.
<br/>>
<br/>> From my point of view, the goal of Zn is to be a framework implementing the HTTP protocol and a library on top of that offering client and server functionality based mainly on RFC 2616.
<br/>>
<br/>> The server part is kept relatively simple: the server does multithreading, connection handling, request parsing and response writing and then asks its delegate to do the work, using #handleRequest: which is given a ZnRequest as argument and is expected to return a ZnResponse.
<br/>>
<br/>> The code doing the #handleRequest can be simple, like in the examples that are included, but could become arbitrarily complex, like Apache.
<br/>>
<br/>> Anyone is free to build on top of Zn whatever they think makes sense, most of this will probably be more application specific and hence out of the scope of Zn.
<br/>>
<br/>> The Seaside adaptor is a good example: it is an add-on. Seaside expects very little from its servers and Zn is offering slightly more than needed. Still, the Seaside experience is quite rich to say the least.
<br/>>
<br/>> I don't consider Swazoo or Comanche competition, they offer more features but also specific API's.
<br/>>
<br/>> Another goal of Zn is understandability: I would like the Zn code to be readable by anyone interested in HTTP.
<br/>>
<br/>> Sven
<br/>>
<br/>>
<br/>>
</div><br/>--
<br/>Janko Mivšek
<br/>Svetovalec za informatiko
<br/>Eranova d.o.o.
<br/>Ljubljana, Slovenija
<br/>www.eranova.si
<br/>tel: 01 514 22 55
<br/>faks: 01 514 22 56
<br/>gsm: 031 674 565
<br/><br/>------------------------------------------------------------------------------
<br/>EditLive Enterprise is the world's most technically advanced content
<br/>authoring tool. Experience the power of Track Changes, Inline Image
<br/>Editing and ensure content is compliant with Accessibility Checking.
<br/><a href="http://p.sf.net/sfu/ephox-dev2dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/ephox-dev2dev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3611291&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3434130Fwd: [Seaside] Seaside-REST, PUT, and the Server adaptors2011-04-07T11:04:41Z2011-04-07T11:04:41ZPhilippe Marschall
---------- Forwarded message ----------
<br/>From: Tobias Pape <<a href="/user/SendEmail.jtp?type=node&node=3434130&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/>Date: 2011/4/7
<br/>Subject: Re: [Seaside] Seaside-REST, PUT, and the Server adaptors
<br/>To: Seaside - general discussion <<a href="/user/SendEmail.jtp?type=node&node=3434130&i=1" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/>Cc: GemStone Seaside beta discussion <<a href="/user/SendEmail.jtp?type=node&node=3434130&i=2" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/><br/><br/>-----BEGIN PGP SIGNED MESSAGE-----
<br/>Hash: SHA1
<br/><br/>Hi
<br/>Am 2011-04-05 um 10:42 schrieb Tobias Pape:
<br/><div class='shrinkable-quote'><br/>> Dear all
<br/>>
<br/>> I played around with the Seaside-REST-portion for SqueakSource3
<br/>> by Phillippe, and I figured, that it depends (at least for Squeak/Pharo)
<br/>> on the Adaptor whether it is possible to use PUT-Requests or not:
<br/>>
<br/>> Having this code:
<br/>> putMap: fileName ofProject: projectName
<br/>> <PUT>
<br/>> <Path: '/{projectName}/{fileName}.mcm'>
<br/>> | data |
<br/>> data := self requestContext request rawBody.
<br/>>
<br/>> When using the Swazoo-Adaptor, data is nil, whatever I try
<br/>> (certain combinations of raw sending, url-encode, form-encode
<br/>> and the like), When using the Comanche-Adaptor, this works
<br/>> easily.
</div><br/>Sorry for self-followup, but I think I found a fix.
<br/>See <a href="http://code.google.com/p/glassdb/issues/detail?id=261" target="_top" rel="nofollow" link="external">http://code.google.com/p/glassdb/issues/detail?id=261</a><br/><br/>So Long,
<br/> -Tobias
<br/>-----BEGIN PGP SIGNATURE-----
<br/>Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
<br/>Comment: GPGTools - <a href="http://gpgtools.org" target="_top" rel="nofollow" link="external">http://gpgtools.org</a><br/><br/>iEYEARECAAYFAk2d76gACgkQcPVIrP6PLKv+qACfXOZ55rID0ULAFJNhK9/owIP+
<br/>1KUAn0DaEN/D4jq5xr0O7GO5grmZqymm
<br/>=UdCH
<br/>-----END PGP SIGNATURE-----
<br/>_______________________________________________
<br/>seaside mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3434130&i=3" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br/><br/>------------------------------------------------------------------------------
<br/>Xperia(TM) PLAY
<br/>It's a major breakthrough. An authentic gaming
<br/>smartphone on the nation's most reliable network.
<br/>And it wants your games.
<br/><a href="http://p.sf.net/sfu/verizon-sfdev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/verizon-sfdev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3434130&i=4" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3306608Re: [Seaside-dev] Seaside 3.0.4 (Swazoo & Issue 629)2011-02-15T03:33:35Z2011-02-15T03:33:35ZJanko Mivšek
Hi guys,
<br/><br/>On 15. 02. 2011 08:39, Paolo Bonzini wrote:
<br/>> On 02/15/2011 02:51 AM, Dale Henrichs wrote:
<br/>>>
<br/>>> 2. ask Janko to make Swazoo2.3 backwards compatible with Swazoo2.2 so
<br/>>> that we don't have to hack Seaside3.0 to make Swazoo2.3 work
<br/>>
<br/>> I think this. I already had a backwards-incompatible change to 2.2 that
<br/>> broke Seaside, and I fixed it by adding back the method that was required.
<br/><br/>Done!
<br/><br/>Swazoo 2.3 beta2 is now backward compatible to Swazoo 2.2 with respect
<br/>to HTTPResponse #code/#code: Those methods are back and moved to
<br/>category private-obsolete. Please try to migrate to
<br/>#statusCode/#statusCode: methods as soon as possible.
<br/><br/> <a href="http://www.squeaksource.com/Swazoo/Swazoo-2.3beta2.2.mcz" target="_top" rel="nofollow" link="external">http://www.squeaksource.com/Swazoo/Swazoo-2.3beta2.2.mcz</a><br/><br/> version2300 in <a href="http://www.squeaksource.com" target="_top" rel="nofollow" link="external">http://www.squeaksource.com</a><br/> /MetacelloRepository/ConfigurationOfSwazoo2-jm.24 and newer
<br/><br/>Best regards
<br/>Janko
<br/><br/>------------------------------------------------------------------------------
<br/>The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
<br/>Pinpoint memory and threading errors before they happen.
<br/>Find and fix more than 250 security defects in the development cycle.
<br/>Locate bottlenecks in serial and parallel code that limit performance.
<br/><a href="http://p.sf.net/sfu/intel-dev2devfeb" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/intel-dev2devfeb</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3306608&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3084155scgi additional method2010-12-12T03:10:23Z2010-12-12T03:10:23ZPaolo Bonzini-2
URIResolution>>#siteMatch: is private by used by the Seaside adaptor, so
<br/>my SCGI patches would break Seaside.
<br/><br/>With the new double-dispatch framework, the implementation is trivial:
<br/><br/>!URIResolution methodsFor: 'backwards compatibility'!
<br/><br/>siteMatch: aSite
<br/> ^aSite match: self request
<br/>! !
<br/><br/>Paolo
<br/><br/>------------------------------------------------------------------------------
<br/>Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
<br/>new data types, scalar functions, improved concurrency, built-in packages,
<br/>OCI, SQL*Plus, data movement tools, best practices and more.
<br/><a href="http://p.sf.net/sfu/oracle-sfdev2dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/oracle-sfdev2dev</a>
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3084155&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3081572Re: [Help-smalltalk] misc regressions2010-12-10T01:47:47Z2010-12-10T01:47:47ZPaolo Bonzini-2
On 12/10/2010 02:56 AM, Holger Hans Peter Freyther wrote:
<br/>> There is something I don't understand. Is there a way to see Exceptions/Error
<br/>> raised and caught? [...] Having a MessageNotUnderstood would have eased finding this. I
<br/>> am still not sure who is handling and ignoring this exception.
<br/><br/>I usually remove the exception handlers, but you're right that having
<br/>that done by a boolean preference on the Site or Server objects would be
<br/>better.
<br/><br/>> I would propose to re-add the siteMatch: method for now.
<br/><br/>Agreed.
<br/><br/>Paolo
<br/><br/>------------------------------------------------------------------------------
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3081572&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3078195Serving static content2010-12-08T05:23:31Z2010-12-08T05:23:31ZDmitry Matveev-2
Hello,
<br/><br/> I have a problem (or just a misunderstanding) on how to serve a static
<br/> content with Swazoo. I use Swazoo 2.2 in Squeak 4.1
<br/><br/> When I "doit" the following code in the Workspace
<br/><br/> | site resource composite |
<br/> SwazooServer singleton removeAllSites.
<br/> site := SwazooSite new name: 'test'.
<br/> site host: '*' ip: '*' port: 8888.
<br/> SwazooServer singleton addSite: site.
<br/><br/> composite := CompositeResource new uriPattern: '/'.
<br/> resource := FileResource uriPattern: 'hello.html' filePath:
<br/> '/home/dm/hello.html'.
<br/> composite addResource: resource.
<br/> site addResource: composite.
<br/><br/> SwazooServer startOn: 8888.
<br/><br/> The server wakes up ok, but when I'm trying to rich the
<br/> <a href="http://localhost:8888/hello.html" target="_top" rel="nofollow" link="external">http://localhost:8888/hello.html</a>, firefox shows "waiting for
<br/> localhost..." and nothing more happens (browsing other addresses on
<br/> localhost:8888 results with 404 so the server really works).
<br/><br/> I have tried to debug the FileMappingResource>>answerTo: and explored
<br/> all the execution flow from the debugger, everything looks ok, the file
<br/> is found and the response is created.
<br/><br/> I assume that I do something wrong and there is no issue with Swazoo.
<br/> Could anybody point me out how to setup the static content serving
<br/> correctly?
<br/><br/> Best regards,
<br/> Dmitry
<br/><br/><br/>------------------------------------------------------------------------------
<br/>What happens now with your Lotus Notes apps - do you make another costly
<br/>upgrade, or settle for being marooned without product support? Time to move
<br/>off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
<br/>use, and manage than apps on traditional platforms. Sign up for the Lotus
<br/>Notes Migration Kit to learn more. <a href="http://p.sf.net/sfu/salesforce-d2d" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/salesforce-d2d</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3078195&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3069896WebSocket support in 2.3beta12010-12-02T10:28:54Z2010-12-02T10:28:54ZJanko Mivšek
Dear Swazooers,
<br/><br/>Past few days I worked on WebSocket implementation in Swazoo, in
<br/>coordination with Philippe from Seaside and Nicolas Petton from Iliad
<br/>devteams, so that implementation is ready to be adapted for all three
<br/>main web frameworks:
<br/><br/> <a href="http://www.swazoo.org/websocket" target="_top" rel="nofollow" link="external">http://www.swazoo.org/websocket</a><br/><br/>Why WebSocket? Because it will replace current Comet hacks to enable a
<br/>bidirectional messaging between browser and web application, specially
<br/>for web app to send something back to the browser without waiting to
<br/>user to click something.
<br/><br/>WebSocket as browser supported technology enables opening an always
<br/>present channel, so that web app can send commands like update some
<br/>element of the webpage at any time. That's why WebSocket is ideal for so
<br/>called "real-time" web.
<br/><br/>You are invited to look at the code on Squeak/Pharo as Swazoo2.3beta1.1
<br/>at <a href="http://www.squeaksource.org/Swazoo.html" target="_top" rel="nofollow" link="external">http://www.squeaksource.org/Swazoo.html</a><br/><br/>Paolo, I didn't forget to your patches ... :)
<br/><br/>Best regards
<br/>Janko
<br/>Swazoo maintainer
<br/><br/>------------------------------------------------------------------------------
<br/>Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
<br/>Tap into the largest installed PC base & get more eyes on your game by
<br/>optimizing for Intel(R) Graphics Technology. Get started today with the
<br/>Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
<br/><a href="http://p.sf.net/sfu/intelisp-dev2dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/intelisp-dev2dev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3069896&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-3003511Reducing resource framework just to SwazooSite?2010-10-20T01:10:39Z2010-10-20T01:10:39ZJanko Mivšek
Dear all,
<br/><br/>I'm just thinking about simplifying Swazoo resource framework to be
<br/>easier to understand and easier to debug, specially easier to trace a
<br/>request through the resources.
<br/><br/>That's why I'm thinking about to reduce a resource framework to just one
<br/>resource: a SwazooSite. AFAIK all uses of Swazoo so far don't really use
<br/>a resource framework beyond a SwazooSite, so continuing with a full
<br/>support of hierarchical resources is just not practical and it ads
<br/>heavily to the complexity of Swazoo.
<br/><br/>What we can also do is to make a subclass of SwazooSite for static file
<br/>serving and another one for Hello world example.
<br/><br/>What do you think, is reducing resources just to the Site good idea?
<br/><br/>Best regards
<br/>Janko
<br/><br/><br/><br/>------------------------------------------------------------------------------
<br/>Download new Adobe(R) Flash(R) Builder(TM) 4
<br/>The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
<br/>Flex(R) Builder(TM)) enable the development of rich applications that run
<br/>across multiple browsers and platforms. Download your free trials today!
<br/><a href="http://p.sf.net/sfu/adobe-dev2dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/adobe-dev2dev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=3003511&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-2063952swazoo 2.2 not in list2010-04-24T17:56:32Z2010-04-24T17:56:32Zching
Hi,<br><br>I am unable to locate Swazoo 2.2 in the selections available after folloing these instructions from the Swazoo download page :<br><div><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
<p>But the easiest installation is from <strong>Universes</strong>:</p></blockquote>
<ol><li>Open Package Universe Browser</li><li>Open Network</li><li>Chose Swazoo version 2.2 and click Select package</li><li>click Install Selections.</li></ol> any ideas?<br><br>Ching de la Serna<br></div>
<br />------------------------------------------------------------------------------
<br/><br />_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=2063952&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1597774multiple cookies in a single response2010-03-18T03:09:25Z2010-03-18T03:09:25ZDick Heijink
Hello list,<br><br>I am new to this list, so please excuse me if this is not the appropriate place for my question.<br>We're developing a web application using the Hyper Server. We ran into some problems when we tried to set multiple cookies in a single response. Although Hyper 'correctly' implements the RFC that states that multiple cookies should be comma separated into a single Set-Cookie field, most browsers have different ideas about this.<br>
See <a href="http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies" target="_top" rel="nofollow" link="external">http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies</a> for more information on browsers and their cookie behavior.<br>
Contrary to what the RFC states, all browsers accept multiple Set-Cookie headers in a response. I've implemented this behavior in Hyper by changing the valueAsStringOn instance method in the HyHTTPSetCookie class.<br>
<br>valuesAsStringOn: aStream<br> aStream nextPutAll: (self cookies at: 1).<br> 2<br> to: self cookies size<br> do:<br> [:cookieIndex | <br> aStream<br> crlf;<br> nextPutAll: self name;<br>
nextPutAll: ': ';<br> nextPutAll: (self cookies at: cookieIndex)].<br> ^self<br><br>Has anybody else experienced problems using multiple cookies in a single response?<br><br>Dick Heijink<br>
<br />------------------------------------------------------------------------------
<br/>Download Intel&#174; Parallel Studio Eval
<br/>Try the new software tools for yourself. Speed compiling, find bugs
<br/>proactively, and fine-tune applications for parallel performance.
<br/>See why Intel Parallel Studio got high marks during beta.
<br/><a href="http://p.sf.net/sfu/intel-sw-dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/intel-sw-dev</a><br />_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1597774&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1583460HTTP messaging project (was Google Summer of Code..)2010-03-07T03:18:43Z2010-03-07T03:18:43ZJanko Mivšek
On 07. 03. 2010 00:02, Julian Fitzell wrote:
<br/><br/>> + Take the best parts of Seaside and Swazoo's HTTP protocol classes
<br/>> and create an HTTP package that could be optionally loaded with Grease
<br/>> and used by multiple projects.
<br/><br/>This is actually very good idea and because we need to reimplement the
<br/>Swazoo HTTP messaging part due to licensing reasons anyway, even more
<br/>timely.
<br/><br/>So, idea is to make an independent HTTP messaging library to be used for
<br/>both web servers and clients, and also for internal use in web
<br/>frameworks like Seaside, Aida and Iliad, to avoid unnecessary converting
<br/>as it happens now.
<br/><br/>As a Swazoo maintainer a have quite an interest and I'm therefore
<br/>willing to mentor that project.
<br/><br/>Janko
<br/><br/>------------------------------------------------------------------------------
<br/>Download Intel&#174; Parallel Studio Eval
<br/>Try the new software tools for yourself. Speed compiling, find bugs
<br/>proactively, and fine-tune applications for parallel performance.
<br/>See why Intel Parallel Studio got high marks during beta.
<br/><a href="http://p.sf.net/sfu/intel-sw-dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/intel-sw-dev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1583460&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401531[swazoo-devel] ( picoVerse-:( Can Swazoo communicate with a Smalltalk based client other than InternetExplorer? ) )2010-01-23T02:05:38Z2010-01-23T02:05:38ZKjell Godo
Can Swazoo communicate with a Smalltalk based client other than
<br/>InternetExplorer?
<br/>Can Swazoo facilitate general client server programming across the internet?
<br/><br/>Here is the scenario:
<br/><br/>A user comes to my website.
<br/><br/>They click on a link and a .exe file is downloaded onto their machine.
<br/> This .exe was created using Dolphin Smalltalk.
<br/><br/>They either save it to disk and run it or just run it.
<br/><br/>The running program now contacts a Dolphin server somewhere on the web.
<br/><br/>The running program sends information back to the server about what
<br/>the user is doing with the program.
<br/><br/>The user can chat or send written feedback back to the server. etc.
<br/><br/>The communication between the server and the program is not html. It
<br/>is some other textual language. Either Smalltalk or picoLARC.
<br/><br/>What is the best way to do this kind of client server communication?
<br/><br/>Is it raw sockets? Can Swazoo be used?
<br/><br/>------------------------------------------------------------------------------
<br/>Throughout its 18-year history, RSA Conference consistently attracts the
<br/>world's best and brightest in the field, creating opportunities for Conference
<br/>attendees to learn about information security's most important issues through
<br/>interactions with peers, luminaries and emerging and established companies.
<br/><a href="http://p.sf.net/sfu/rsaconf-dev2dev" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/rsaconf-dev2dev</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401531&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401532Implementing a connection pool for Swazoo2009-07-25T03:40:42Z2009-07-25T03:40:42ZPaolo Bonzini-2
Hi all,
<br/><br/>I tried to implement a connection pool for Swazoo. I'll probably
<br/>commit this to the GNU Smalltalk repository early next week or
<br/>earlier if I get positive feedback about it.
<br/><br/>The code maintains a linked list of connections ordered by starting
<br/>time (so it is fair) and eliminates connections that are not currently
<br/>responding when a given number of connections (default 15, can be
<br/>changed with a message to SwazooServer singleton) is exceeded. The
<br/>pool is shared by all servers (i.e. all interfaces) because it helps
<br/>controlling process-wide resources such as file descriptors, and that
<br/>is also why its size is controlled by SwazooServer.
<br/><br/>The code is quite complicated especially because I just used plain Blue
<br/>Book semaphores, no RecursionLocks or anything like that. From some
<br/>testing using netcat however it seems to do its job well and to be worth
<br/>it. For example a "Keep-Alive: 1" connection will always be killed
<br/>before a "Keep-Alive: 300" connection. Putting it under load may show
<br/>problems though.
<br/><br/>In particular, I'm not sure what to do if the server is receiving
<br/>a response at the time the "reaper" process wants to kill it. Right
<br/>now I reset the connection, but I'm not sure whether the browser
<br/>would like it. Since this affects only cases when you have a large
<br/>number of incoming simultaneous connections, *or* when the timing
<br/>is so bad that the beginning of the request is within the Keep-Alive
<br/>limit but the ending is not (e.g. with file POST requests), I'm inclined
<br/>to ignore it.
<br/><br/>The file is a patch to GNU Smalltalk, however I release it as MIT
<br/>license since it may be of interest to Kom or anything else. Swazoo guys,
<br/>tell me what you think and what is the best shape to contribute this
<br/>back (changeset?).
<br/><br/>The changes to Messages.st are independent fixes.
<br/><br/>Paolo
<br/><br/><br/>diff --git a/packages/swazoo-httpd/Core.st b/packages/swazoo-httpd/Core.st
<br/>index acd7b16..7a6c2cc 100644
<br/>--- a/packages/swazoo-httpd/Core.st
<br/>+++ b/packages/swazoo-httpd/Core.st
<br/>@@ -591,8 +591,229 @@ CompositeResource subclass: SwazooSite [
<br/>
<br/>
<br/>
<br/>+Object subclass: HTTPConnectionPool [
<br/>+ | reapers pool prev next first last firstFree mutex reapDone |
<br/>+
<br/>+ <comment: 'HTTPConnectionPool is a helper class that manages all the
<br/>+connections of a SwazooServer. The number of available connections
<br/>+is limited, so the pool is always kept sorted by first request and
<br/>+more ancient connections are dropped if there is a request from
<br/>+somewhere else.
<br/>+
<br/>+In addition, this class implements a backoff policy that should help in
<br/>+case limited resources prevent acceptance of new connections.
<br/>+'>
<br/>+
<br/>+ HTTPConnectionPool class >> new: size [
<br/>+ <category: 'instance creation'>
<br/>+ ^self new initialize: size
<br/>+ ]
<br/>+
<br/>+ reaperForIndex: i [
<br/>+ <category: 'private-initialize'>
<br/>+
<br/>+ | block s |
<br/>+ s := Semaphore new.
<br/>+
<br/>+ "We need a separate process because Smalltalk Semaphores
<br/>+ do not portably provide a 'try to lock' method. We store
<br/>+ a semaphore in an array and use the semaphore to wake up
<br/>+ the process."
<br/>+ block := [
<br/>+ | sem doIt |
<br/>+ [s wait.
<br/>+ (sem := reapDone) notNil ifTrue: [
<br/>+ (pool at: i) whenNotServingDo: [
<br/>+ "Run under mutex to ensure only one connection
<br/>+ is reapDone."
<br/>+ mutex critical: [
<br/>+ doIt := reapDone == sem.
<br/>+ doIt ifTrue: [reapDone := nil]].
<br/>+
<br/>+ doIt ifTrue: [
<br/>+ (pool at: i) close.
<br/>+ sem signal]]]]
<br/>+ repeat].
<br/>+
<br/>+ block forkAt: Processor userInterruptPriority.
<br/>+ ^s
<br/>+ ]
<br/>+
<br/>+ initialize: size [
<br/>+ <category: 'private-initialize'>
<br/>+
<br/>+ "Free list."
<br/>+ firstFree := size.
<br/>+ next := (0 to: size - 1) asArray.
<br/>+
<br/>+ "Actual connection pool."
<br/>+ first := last := 0.
<br/>+ pool := Array new: size.
<br/>+ prev := Array new: size.
<br/>+
<br/>+ mutex := Semaphore forMutualExclusion.
<br/>+ reapers := (1 to: size) collect: [ :i | self reaperForIndex: i ].
<br/>+ ]
<br/>+
<br/>+ size [
<br/>+ <category: 'accessing'>
<br/>+ ^pool size
<br/>+ ]
<br/>+
<br/>+ acceptConnectionForServer: aServer [
<br/>+ "Ask aServer for an HTTPConnection object, put it into the pool,
<br/>+ and return it."
<br/>+ <category: 'serving'>
<br/>+
<br/>+ | connection time |
<br/>+ time := 10.
<br/>+ [connection := SpExceptionContext
<br/>+ for: [aServer acceptConnectionFromSocket]
<br/>+ on: SpError
<br/>+ do: [:ex |
<br/>+ Transcript
<br/>+ show: 'Socket accept error: ' , ex errorString;
<br/>+ cr.
<br/>+ ex return].
<br/>+
<br/>+ connection isNil] whileTrue: [
<br/>+ "Trying immediately would just cause another failure.
<br/>+ Try freeing a connection's resources first, otherwise wait
<br/>+ for connections to finish in 10, 30, 70, 150, 250 ms."
<br/>+ self tryToReapConnection ifFalse: [
<br/>+ (Delay forMilliseconds: time) wait.
<br/>+ time := (time + 5) * 2 min: 250]].
<br/>+
<br/>+ ^self addConnection: connection
<br/>+ ]
<br/>+
<br/>+ addConnection: aConnection [
<br/>+ <category: 'private'>
<br/>+
<br/>+ mutex critical: [
<br/>+ firstFree = 0 ifTrue: [self reapConnection].
<br/>+ aConnection id: firstFree.
<br/>+
<br/>+ "Add to the list and update the free list."
<br/>+ pool at: firstFree put: aConnection.
<br/>+ prev at: firstFree put: last.
<br/>+ last = 0
<br/>+ ifTrue: [ first := last := firstFree ]
<br/>+ ifFalse: [ last := next at: last put: firstFree ].
<br/>+
<br/>+ firstFree := next at: firstFree.
<br/>+ next at: last put: 0].
<br/>+
<br/>+ ^aConnection
<br/>+ ]
<br/>+
<br/>+ removeConnection: aConnection [
<br/>+ <category: 'accessing'>
<br/>+
<br/>+ | index |
<br/>+ index := aConnection id.
<br/>+ aConnection id: 0.
<br/>+ index = 0 ifTrue: [ ^self ].
<br/>+ mutex critical: [
<br/>+ "Remove from the list..."
<br/>+ | itsPrev itsNext |
<br/>+ itsPrev := prev at: index.
<br/>+ itsNext := next at: index.
<br/>+ pool at: index put: nil.
<br/>+ itsNext = 0
<br/>+ ifTrue: [ last := itsPrev ]
<br/>+ ifFalse: [ prev at: itsNext put: itsPrev ].
<br/>+ itsPrev = 0
<br/>+ ifTrue: [ first := itsNext ]
<br/>+ ifFalse: [ next at: itsPrev put: itsNext ].
<br/>+
<br/>+ "... and put back into the free list."
<br/>+ next at: index put: firstFree.
<br/>+ firstFree := index].
<br/>+ ]
<br/>+
<br/>+ connections [
<br/>+ <category: 'accessing'>
<br/>+
<br/>+ | oc |
<br/>+ oc := OrderedCollection new.
<br/>+ mutex critical: [
<br/>+ self walk: [:each | oc add: each]].
<br/>+ ^oc
<br/>+ ]
<br/>+
<br/>+ walk: aBlock [
<br/>+ <category: 'private'>
<br/>+
<br/>+ "Must be called within mutex."
<br/>+ | i |
<br/>+ i := first.
<br/>+ [i = 0] whileFalse: [
<br/>+ aBlock value: (pool at: i).
<br/>+ i := next at: i]
<br/>+ ]
<br/>+
<br/>+ tryToReap: i [
<br/>+ "Start a process that will wait for connection i to finish
<br/>+ serving a response and, if no other connection has been reaped
<br/>+ yet, will forcibly close connection i."
<br/>+ <category: 'reaping'>
<br/>+
<br/>+ "Must be called within mutex."
<br/>+ (reapers at: i) signal.
<br/>+ ]
<br/>+
<br/>+ reapConnections: block [
<br/>+ <category: 'reaping'>
<br/>+
<br/>+ "Must be called within mutex."
<br/>+ | i sem prev |
<br/>+
<br/>+ "First the easy case, see if some Keep-Alive connection has
<br/>+ timed out."
<br/>+ self walk: [ :conn |
<br/>+ conn keepAliveTimeout ifTrue: [conn close. ^self]].
<br/>+
<br/>+ "Else wake up the reaper processes. They will find the first
<br/>+ connection that finishes serving a response and forcibly close
<br/>+ it."
<br/>+ i := first.
<br/>+ sem := reapDone := Semaphore new.
<br/>+ [reapDone notNil and: [i > 0]] whileTrue: [
<br/>+ prev := i.
<br/>+ i := next at: i.
<br/>+ mutex signal.
<br/>+ self tryToReap: prev.
<br/>+ mutex wait].
<br/>+
<br/>+ "Wait for the processes to do their job if called because of
<br/>+ excessive loads."
<br/>+ block ifTrue: [sem wait].
<br/>+ reapDone := nil.
<br/>+ ]
<br/>+
<br/>+ tryToReapConnection [
<br/>+ "Look for dormient connections and kill one of them. Return whether
<br/>+ one was found."
<br/>+ <category: 'reaping'>
<br/>+
<br/>+ ^mutex critical: [
<br/>+ self reapConnections: false.
<br/>+ firstFree > 0]
<br/>+ ]
<br/>+
<br/>+ reapConnection [
<br/>+ "Kill one dormient connection, possibly sleeping until one is found."
<br/>+ <category: 'reaping'>
<br/>+
<br/>+ self reapConnections: true
<br/>+ ]
<br/>+
<br/>+]
<br/>+
<br/>+
<br/> Object subclass: SwazooServer [
<br/>- | sites servers watchdog |
<br/>+ | connectionPool sites servers watchdog |
<br/>
<br/> <category: 'Swazoo-Core'>
<br/> <comment: 'SwazooServer is where all begins in Swazoo!
<br/>@@ -650,7 +871,7 @@ SwazooServer demoStart will create and run a demo site on <a href="http://localhost:8888" target="_top" rel="nofollow" link="external">http://localhost:8888</a><br/>
<br/> SwazooServer class >> initSingleton [
<br/> <category: 'private'>
<br/>- Singleton := super new
<br/>+ Singleton := super new initialize
<br/> ]
<br/>
<br/> SwazooServer class >> initialize [
<br/>@@ -661,6 +882,11 @@ SwazooServer demoStart will create and run a demo site on <a href="http://localhost:8888" target="_top" rel="nofollow" link="external">http://localhost:8888</a><br/> for: self singleton
<br/> ]
<br/>
<br/>+ SwazooServer class >> defaultConnectionPoolSize [
<br/>+ <category: 'parameters'>
<br/>+ ^15
<br/>+ ]
<br/>+
<br/> SwazooServer class >> new [
<br/> <category: 'private'>
<br/> ^self shouldNotImplement
<br/>@@ -822,6 +1048,27 @@ SwazooServer demoStart will create and run a demo site on <a href="http://localhost:8888" target="_top" rel="nofollow" link="external">http://localhost:8888</a><br/> ^self sites contains: [:each | each port = aNumber]
<br/> ]
<br/>
<br/>+ connectionPool [
<br/>+ <category: 'accessing'>
<br/>+ ^connectionPool
<br/>+ ]
<br/>+
<br/>+ connectionPoolSize [
<br/>+ <category: 'accessing'>
<br/>+ ^connectionPool size
<br/>+ ]
<br/>+
<br/>+ connectionPoolSize: anInteger [
<br/>+ | active |
<br/>+ active := self servers isNil
<br/>+ ifTrue: [ #() ]
<br/>+ ifFalse: [ self servers copy ].
<br/>+
<br/>+ active do: [ :each | each stop ].
<br/>+ connectionPool := HTTPConnectionPool new: anInteger.
<br/>+ active do: [ :each | each start ]
<br/>+ ]
<br/>+
<br/> initServers [
<br/> <category: 'initialize-release'>
<br/> servers := Set new
<br/>@@ -834,6 +1081,7 @@ SwazooServer demoStart will create and run a demo site on <a href="http://localhost:8888" target="_top" rel="nofollow" link="external">http://localhost:8888</a><br/>
<br/> initialize [
<br/> <category: 'initialize-release'>
<br/>+ self connectionPoolSize: self class defaultConnectionPoolSize.
<br/> self initSites.
<br/> self initServers
<br/> ]
<br/>diff --git a/packages/swazoo-httpd/HTTP.st b/packages/swazoo-httpd/HTTP.st
<br/>index cc87f1a..50d98ad 100644
<br/>--- a/packages/swazoo-httpd/HTTP.st
<br/>+++ b/packages/swazoo-httpd/HTTP.st
<br/>@@ -30,14 +30,14 @@
<br/>
<br/>
<br/> Object subclass: HTTPConnection [
<br/>- | stream loop server task |
<br/>+ | stream loop id server task mutex |
<br/>
<br/> <category: 'Swazoo-HTTP'>
<br/> <comment: nil>
<br/>
<br/> HTTPConnection class >> socket: aSocket [
<br/> <category: 'instance creation'>
<br/>- ^self new stream: aSocket stream
<br/>+ ^self new initializeStream: aSocket stream
<br/> ]
<br/>
<br/> close [
<br/>@@ -53,44 +53,49 @@ Object subclass: HTTPConnection [
<br/> self loop: nil]
<br/> ]
<br/>
<br/>- getAndDispatchMessages [
<br/>+ whenNotServingDo: aBlock [
<br/>+ mutex critical: aBlock
<br/>+ ]
<br/>+
<br/>+ getAndDispatchRequest [
<br/> "^self
<br/> The HTTPRequest is read from my socket stream. I then pass this request to my server
<br/> to get a response."
<br/>
<br/> <category: 'serving'>
<br/>- self stream anyDataReady
<br/>- ifTrue:
<br/>- ["wait for data and if anything read, proceed"
<br/>+ self task: (SwazooTask newOn: self).
<br/>+ self readRequestFor: self task.
<br/>+ mutex critical: [
<br/>+ self isOpen ifFalse: [^self].
<br/>+ self produceResponseFor: self task].
<br/>
<br/>- self task: (SwazooTask newOn: self).
<br/>- self readRequestFor: self task.
<br/>- self produceResponseFor: self task.
<br/>- self task request wantsConnectionClose ifTrue: [self close].
<br/>- self task request isHttp10 ifTrue: [self close] "well, we won't complicate here"]
<br/>- ifFalse:
<br/>- [self keepAliveTimeout ifTrue: [^self close].
<br/>- (Delay forMilliseconds: 100) wait. "to finish sending, if any"
<br/>- self close]
<br/>+ self task request wantsConnectionClose ifTrue: [self close].
<br/>+ self task request isHttp10 ifTrue: [self close]
<br/>+ ]
<br/>+
<br/>+ anyDataReady [
<br/>+ "wait for data and if anything read, proceed"
<br/>+ | theStream |
<br/>+ theStream := self stream.
<br/>+ ^self isOpen and: [theStream anyDataReady]
<br/> ]
<br/>
<br/>- interact [
<br/>+ interact: multiThreaded [
<br/> "longer description is below method"
<br/>
<br/> <category: 'serving'>
<br/> | interactionBlock |
<br/> interactionBlock :=
<br/>- [
<br/>- [[[true] whileTrue:
<br/>- [self getAndDispatchMessages.
<br/>+ [[[[self anyDataReady] whileTrue:
<br/>+ [self getAndDispatchRequest.
<br/> Processor yield]]
<br/>- ifCurtailed:
<br/>+ ensure:
<br/> [self close]]
<br/> on: Error
<br/> do: [:ex |
<br/> (Delay forMilliseconds: 50) wait. "to finish sending, if any"
<br/> self close]].
<br/>- self server isMultiThreading
<br/>+ multiThreaded
<br/> ifTrue:
<br/> [self loop: (interactionBlock forkAt: Processor userBackgroundPriority)]
<br/> ifFalse: [interactionBlock value].
<br/>@@ -112,9 +117,10 @@ Object subclass: HTTPConnection [
<br/> <category: 'testing'>
<br/> | seconds |
<br/> self task isNil ifTrue: [^false].
<br/>+ self task request isNil ifTrue: [^false].
<br/> self task request isKeepAlive ifFalse: [^false].
<br/> seconds := self task request keepAlive notNil
<br/>- ifTrue: [self task request keepAlive asInteger - 10 "to be sure"]
<br/>+ ifTrue: [self task request keepAlive asInteger]
<br/> ifFalse: [20]. "probably enough?"
<br/> ^SpTimestamp now asSeconds - self task request timestamp asSeconds
<br/> >= seconds
<br/>@@ -205,6 +211,16 @@ Object subclass: HTTPConnection [
<br/> self close]
<br/> ]
<br/>
<br/>+ id [
<br/>+ <category: 'private'>
<br/>+ ^id
<br/>+ ]
<br/>+
<br/>+ id: anInteger [
<br/>+ <category: 'private'>
<br/>+ id := anInteger
<br/>+ ]
<br/>+
<br/> server [
<br/> <category: 'private'>
<br/> ^server
<br/>@@ -225,8 +241,9 @@ Object subclass: HTTPConnection [
<br/> ^stream
<br/> ]
<br/>
<br/>- stream: aSwazooStream [
<br/>+ initializeStream: aSwazooStream [
<br/> <category: 'private'>
<br/>+ mutex := Semaphore forMutualExclusion.
<br/> stream := aSwazooStream
<br/> ]
<br/>
<br/>@@ -248,7 +265,7 @@ Object subclass: HTTPConnection [
<br/>
<br/>
<br/> Object subclass: HTTPServer [
<br/>- | ip port connections sites socket loop isMultiThreading |
<br/>+ | ip port sites socket loop isMultiThreading |
<br/>
<br/> <category: 'Swazoo-HTTP'>
<br/> <comment: nil>
<br/>@@ -273,28 +290,18 @@ Object subclass: HTTPServer [
<br/>
<br/> acceptConnection [
<br/> "^self
<br/>- I accept the next inbound TCP/IP connection. The operating system libraries queue these up for me, so I can just handle one at a time. I create an HTTPConnection instance to actually handle the interaction with the client - if I am in single threaded mode, the connection will completely handle the request before returning control to me, but in multi-threaded mode the connection forks the work into a sepparate thread in this image and control is immediately returned to me (the application programmer must worry about thread safety in this case."
<br/>+ I accept the next inbound TCP/IP connection. The operating system libraries queue these up for me, so I can just handle one at a time. I create an HTTPConnection instance to actually handle the interaction with the client - if I am in single threaded mode, the connection will completely handle the request before returning control to me, but in multi-threaded mode the connection forks the work into a separate thread in this image and control is immediately returned to me (the application programmer must worry about thread safety in this case."
<br/>
<br/>- <category: 'private'>
<br/>- | clientConnection |
<br/>- clientConnection := SpExceptionContext
<br/>- for: [HTTPConnection socket: self socket accept]
<br/>- on: SpError
<br/>- do:
<br/>- [:ex |
<br/>- Transcript
<br/>- show: 'Socket accept error: ' , ex errorString;
<br/>- cr.
<br/>- ^self].
<br/>- self addConnection: clientConnection.
<br/>- clientConnection interact.
<br/>- ^self
<br/>+ (SwazooServer singleton connectionPool acceptConnectionForServer: self)
<br/>+ interact: self isMultiThreading
<br/> ]
<br/>
<br/>- addConnection: aConnection [
<br/>+ acceptConnectionFromSocket [
<br/> <category: 'private'>
<br/>- self connections add: aConnection.
<br/>- aConnection server: self
<br/>+ | connection |
<br/>+ connection := HTTPConnection socket: self socket accept.
<br/>+ connection server: self.
<br/>+ ^connection
<br/> ]
<br/>
<br/> addSite: aSite [
<br/>@@ -310,22 +317,11 @@ Object subclass: HTTPServer [
<br/> ^response isNil ifTrue: [HTTPResponse notFound] ifFalse: [response]
<br/> ]
<br/>
<br/>- connections [
<br/>- <category: 'private'>
<br/>- connections isNil ifTrue: [self initConnections].
<br/>- ^connections
<br/>- ]
<br/>-
<br/> hasNoSites [
<br/> <category: 'sites'>
<br/> ^self sites hasNoResources
<br/> ]
<br/>
<br/>- initConnections [
<br/>- <category: 'private-initialize'>
<br/>- connections := OrderedCollection new
<br/>- ]
<br/>-
<br/> initSites [
<br/> <category: 'private-initialize'>
<br/> sites := ServerRootComposite new
<br/>@@ -333,7 +329,6 @@ Object subclass: HTTPServer [
<br/>
<br/> initialize [
<br/> <category: 'private-initialize'>
<br/>- self initConnections.
<br/> self initSites
<br/> ]
<br/>
<br/>@@ -390,7 +385,7 @@ Object subclass: HTTPServer [
<br/>
<br/> removeConnection: aConnection [
<br/> <category: 'private'>
<br/>- self connections remove: aConnection ifAbsent: [nil]
<br/>+ SwazooServer singleton connectionPool removeConnection: aConnection
<br/> ]
<br/>
<br/> removeSite: aSite [
<br/>@@ -426,7 +421,6 @@ Object subclass: HTTPServer [
<br/>
<br/> sites [
<br/> <category: 'private'>
<br/>- sites isNil ifTrue: [self initSites].
<br/> ^sites
<br/> ]
<br/>
<br/>@@ -463,7 +457,8 @@ Object subclass: HTTPServer [
<br/> <category: 'start/stop'>
<br/> self loop isNil
<br/> ifFalse:
<br/>- [self connections copy do: [:each | each close].
<br/>+ [SwazooServer singleton connectionPool connections
<br/>+ do: [:each | each server == self ifTrue: [each close]].
<br/> self loop terminate.
<br/> self loop: nil.
<br/> self socket close.
<br/>diff --git a/packages/swazoo-httpd/Messages.st b/packages/swazoo-httpd/Messages.st
<br/>index 25d1d0e..9b5fe25 100644
<br/>--- a/packages/swazoo-httpd/Messages.st
<br/>+++ b/packages/swazoo-httpd/Messages.st
<br/>@@ -343,10 +343,13 @@ HTTPMessage subclass: HTTPRequest [
<br/>
<br/> isKeepAlive [
<br/> <category: 'testing'>
<br/>- | header |
<br/>+ | header result |
<br/>+ result := self isHttp10 not.
<br/> header := self connection.
<br/>- header isNil ifTrue: [^false].
<br/>- ^'*Keep-Alive*' match: header
<br/>+ header isNil ifFalse: [
<br/>+ ('*Keep-Alive*' match: header) ifTrue: [ result := true ].
<br/>+ ('*Close*' match: header) ifTrue: [ result := false ] ].
<br/>+ ^result
<br/> ]
<br/>
<br/> isOptions [
<br/>@@ -373,7 +376,7 @@ HTTPMessage subclass: HTTPRequest [
<br/> "how many seconds a connection must be kept alive"
<br/>
<br/> <category: 'accessing-headers'>
<br/>- ^(self headers fieldNamed: 'KeepAlive' ifNone: [^nil]) value
<br/>+ ^(self headers fieldNamed: 'Keep-Alive' ifNone: [^nil]) value
<br/> ]
<br/>
<br/> methodName [
<br/><br/>------------------------------------------------------------------------------
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401532&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401533keep-alive throttling2009-07-24T06:51:14Z2009-07-24T06:51:14ZPaolo Bonzini-2
Hi all,
<br/><br/>on the GNU Smalltalk mailing list a user experienced problems with
<br/>Swazoo failing to accept connections due to an EMFILE error. This
<br/>can be reproduced both with real users (25-50 are enough with cold
<br/>cache) or with automated scripts. Swazoo will have more than 1000
<br/>open sockets, even though those are sleeping (and they are not
<br/>closed, likely, due to Keep-Alive).
<br/><br/>The problem in my opinion is that Swazoo does no throttling of
<br/>incoming requests. These should be done in three ways:
<br/><br/>1) the accepting loop at HTTPServer>>#start should never create more
<br/>than a few dozen clients.
<br/><br/>Besides, upon failing to accept a client, some kind of exponential backoff
<br/>should be added to avoid repeatedly falling prey of the same EMFILE error.
<br/><br/>2) the Keep-Alive header sent by the client is trusted completely in
<br/>HTTPConnection>>#keepAliveTimeout. Mozilla sets it to five minutes,
<br/>which is totally unrealistic and should be configurable---by
<br/>setting a high timeout, clients will benefit from a quicker response,
<br/>on the other hand Apache children would be tied up waiting for clients
<br/>when they could be servicing new clients.
<br/><br/>3) the Keep-Alive time is always computed from the last request rather
<br/>than the first. This means that you need another knob to limit the
<br/>number of requests on a single connection, or else (because of 1
<br/>above) you may have a few clients sucking resources from your server
<br/>forever forbidding new clients to connect.
<br/><br/><br/>If you don't want to have fixed knobs, like 2 and 3, failure to accept a
<br/>client could trigger some kind of reaping of dormient Keep-Alive sockets.
<br/>This is harder to implement however, and "living on the edge" of available
<br/>file descriptors is dangerous because a file server might fail to open
<br/>files for the same reason. So I think this should not be done.
<br/><br/>Paolo
<br/><br/>------------------------------------------------------------------------------
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401533&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401534CLOSE_WAIT sockets, a serious Swazoo bug2009-07-23T02:38:12Z2009-07-23T02:38:12ZPaolo Bonzini-2
Hi Janko,
<br/><br/>a user of GNU Smalltalk found a serious bug in Swazoo 2.2. To reproduce
<br/>the bug, open any Swazoo page and close the browser. Running netstat
<br/>will show sockets in CLOSE_WAIT state. Repeating will show more sockets
<br/>in this state.
<br/><br/>The problem here is that when the client closes the socket, this
<br/>condition is returned by SwazooStream as a SwazooStreamNoDataError
<br/>exception; at this point, the stream should be closed on the Swazoo side
<br/>too.
<br/><br/>However, it is not because of this:
<br/><br/> [[ [ [true] whileTrue:
<br/> [self getAndDispatchMessages.
<br/> Processor yield]
<br/> ]
<br/> on: Error
<br/> do: [:ex | "just ignore"] ]
<br/> ifCurtailed: [
<br/> (Delay forMilliseconds: 50) wait. "to finish sending, if any"
<br/> self close] ].
<br/><br/>Ignoring the exception causes #getAndDispatchMessages to sit forever
<br/>waiting for I/O (not busy waiting, at least on GNU Smalltalk) while the
<br/>socket is left open.
<br/><br/>I changed this to
<br/><br/> [[[true] whileTrue:
<br/> [self getAndDispatchMessages.
<br/> Processor yield]]
<br/> ifCurtailed:
<br/> [self close]]
<br/> on: Error
<br/> do: [:ex |
<br/> (Delay forMilliseconds: 50) wait. "to finish sending, if any"
<br/> self close]].
<br/><br/>and it fixes the bug.
<br/><br/>By the way, I'm not sure about the need for those delays either.
<br/>There's one here and one in #getAndDispatchMessages. They don't seem to
<br/>be necessary on GNU Smalltalk.
<br/><br/>Finally, here we're using #on:do: directly rather than the Sport
<br/>wrapper. I think we should do this uniformly in Swazoo for this
<br/>particular case, since exceptions are now portable and we're relying on
<br/>the ANSI #ifCurtailed: message anyway.
<br/><br/>Thanks!
<br/><br/>Paolo
<br/><br/>------------------------------------------------------------------------------
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401534&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401535Swazoo and HTTPS?2009-07-06T13:03:45Z2009-07-06T13:03:45ZPhilippe Marschall
Hi
<br/><br/>As part of a recent thread on seaside-dev: does Swazoo support HTTPS?
<br/>If so how can I find out whether a request was made over HTTPS?
<br/>HTTPRequest >> #isEncrypted?
<br/><br/>Cheers
<br/>Philippe
<br/><br/>------------------------------------------------------------------------------
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401535&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401538Re: [Help-smalltalk] Seaside, some questions...2009-06-05T07:12:29Z2009-06-05T07:12:29ZPaolo Bonzini-2
> - How do you secure the config-site of seaside with - at minimum - a
<br/>> user/password? (I tried a load into squeak, and it asked me for a
<br/>> user/password combination, but where is it saved, that I could set it in
<br/>> gst "by hand"? Or is it because of the difference between swazoo and
<br/>> comanche. And if so, how do you workaround it.)
<br/><br/>It looks like this part is unimplemented in Swazoo, OTOH it seems pretty
<br/>easy to do (the HTTPAuthenticationChallenge class is missing). (swazoo
<br/>list CCed).
<br/><br/>I think what is often done, is to firewall Swazoo, and instead use
<br/>Apache as a proxy server. You then configure Apache to block
<br/>/seaside/config and to use it, you access Swazoo directly (because of
<br/>the firewall, that would be possible only within some kind of DMZ).
<br/><br/> > - Do you hide the /seaside/ path somehow for the user?
<br/><br/>If you want this, you have to make the root entry point the
<br/>WAApplication instead of using a WADispatcher as Seaside does by default.
<br/><br/>> - Do you really need the halos for development? (And if so, how do you
<br/>> activate them. I know the entry about seaside on
<br/>> <a href="http://smalltalk.gnu.org" target="_top" rel="nofollow" link="external">http://smalltalk.gnu.org</a>, but I couldn't add something like
<br/>> WAToolConfiguration to the configuration of my application. My page
<br/>> looked like: <a href="http://up.picr.de/2368288.jpg" target="_top" rel="nofollow" link="external">http://up.picr.de/2368288.jpg</a><br/><br/>click Override in decoration classes. They are not necessary, but very
<br/>useful.
<br/><br/>Paolo
<br/><br/>------------------------------------------------------------------------------
<br/>OpenSolaris 2009.06 is a cutting edge operating system for enterprises
<br/>looking to deploy the next generation of Solaris that includes the latest
<br/>innovations from Sun and the OpenSource community. Download a copy and
<br/>enjoy capabilities such as Networking, Storage and Virtualization.
<br/>Go to: <a href="http://p.sf.net/sfu/opensolaris-get" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/opensolaris-get</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401538&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401540Swazoo-Lite? (was HTTPSocket)2009-03-03T03:37:10Z2009-03-03T03:37:10ZJanko Mivšek
.. cross posted to swazoo-dev, pharo, swazoo-devel, aida, seaside.
<br/><br/>Phil (list) pravi:
<br/>> On Mar 2, 2009, at 9:16 PM, Keith Hodges wrote:
<br/>...
<br/>>> So... would anyone out there be willing to rewrite HTTPSocket/Client
<br/>>> from scratch so that it is well designed and so on from the ground up?
<br/>>> Assuming that Socket will remain common between Squeak/Pharo etc, it
<br/>>> could also provide an abstraction onto the Curl plugin as well. This new
<br/>>> module would of course be for the benefit of all.
<br/><br/>> I too am looking for a better solution but haven't found one yet. I am
<br/>> interested in looking at anything better if it exists and am willing to
<br/>> lend a hand to helping work on such an effort as well.
<br/><br/>> As I haven't found a solution yet, I have started to implement my own
<br/>> HTTPRequest and HTTPResponse classes which will (for now) be used as a
<br/>> front-end to a hacked up HTTPSocket.
<br/><br/>What if we rather make a Swazoo-Lite, that is a subset of Swazoo just
<br/>with a HTTP client and a light HTTP server?
<br/><br/>That way we will avoid yet another implementation of HTTPRequest and
<br/>Response classes , but we will reuse a proven and tested ones from Swazoo.
<br/><br/>Swazoo currently don't have a HTTP client but this is easy to add
<br/>because all the infrastructure is there. In Swazoo we otherwise need a
<br/>client for reverse proxy support, but this client can actually became
<br/>useful as a standalone client as well, as part of Swazoo Lite.
<br/><br/>What do you think?
<br/><br/>Best regards
<br/>Janko
<br/><br/><br/><br/>--
<br/>Janko Mivšek
<br/>AIDA/Web
<br/>Smalltalk Web Application Server
<br/><a href="http://www.aidaweb.si" target="_top" rel="nofollow" link="external">http://www.aidaweb.si</a><br/><br/>------------------------------------------------------------------------------
<br/>Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
<br/>-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
<br/>-Strategies to boost innovation and cut costs with open source participation
<br/>-Receive a $600 discount off the registration fee with the source code: SFAD
<br/><a href="http://p.sf.net/sfu/XcvMzF8H" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/XcvMzF8H</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401540&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401541Swazoo 2.2 released2009-03-01T07:53:33Z2009-03-01T07:53:33ZJanko Mivšek
Dear Smalltalkers,
<br/><br/>After one year I'm glad to announce a new release 2.2 of Swazoo
<br/>Smalltalk Web Server, currently just for Squeak and VisualWorks.
<br/><br/>What is new?
<br/><br/> * upload streaming 30 times better for large file uploads
<br/> * additional improvements of streamed upload performance, as a result
<br/> of a nice "competition" with Göran Krampe doing the same on the
<br/> Commance
<br/> * two important classes renamed to avoid namespace clashes: Site to
<br/> SwazooSite, Resource to SwazooResource
<br/> * more reliable post data parsing
<br/> * more and better tests
<br/> * benchmarking support added.
<br/><br/>Detailed release notes: <a href="http://www.swazoo.org/release-notes-2.2.html" target="_top" rel="nofollow" link="external">http://www.swazoo.org/release-notes-2.2.html</a><br/><br/>Download page: <a href="http://www.swazoo.org/download.html" target="_top" rel="nofollow" link="external">http://www.swazoo.org/download.html</a><br/><br/>Special thanks to Paolo Bonzini, Lautaro Fernández, Julian Fitzell,
<br/>Göran Krampe, Philippe Marschall and Stefan Schmiedl for your valuable
<br/>inputs to this release!
<br/><br/>Best regards
<br/>Janko Mivšek
<br/>Swazoo maintainer
<br/><br/>------------------------------------------------------------------------------
<br/>Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
<br/>-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
<br/>-Strategies to boost innovation and cut costs with open source participation
<br/>-Receive a $600 discount off the registration fee with the source code: SFAD
<br/><a href="http://p.sf.net/sfu/XcvMzF8H" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/XcvMzF8H</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401541&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401542[Fwd: Google Alert - Swazoo]2009-02-16T02:34:40Z2009-02-16T02:34:40ZJanko Mivšek
Dear Swazooers,
<br/><br/>Funny where the word swazoo is started to appear :)
<br/><br/>Google Blogs Alert for: *Swazoo*
<br/><br/>The 2009 Academy Awards: Gazz’s Picks & Predictions | Stale Popcorn
<br/><<a href="http://www.stalepopcorn.co.uk/news/movie-news/the-2009-academy-awards-gazzs-picks-predictions/" target="_top" rel="nofollow" link="external">http://www.stalepopcorn.co.uk/news/movie-news/the-2009-academy-awards-gazzs-picks-predictions/</a>>
<br/><br/>By Gazz
<br/><br/>Kung Fu Panda is going to end up Shrek-ed up the *swazoo* with sequels,
<br/>spin-offs, you name it, just watch. WALL-E will stand the test of time
<br/>though. Best Foreign Language Film of the Year. Der Baader Meinhof
<br/>Komplex (2008)(Germany) *...*
<br/><br/>Stale Popcorn - <a href="http://www.stalepopcorn.co.uk/" target="_top" rel="nofollow" link="external">http://www.stalepopcorn.co.uk/</a><br/><<a href="http://www.stalepopcorn.co.uk/" target="_top" rel="nofollow" link="external">http://www.stalepopcorn.co.uk/</a>>
<br/><br/>--
<br/>Janko Mivšek
<br/>AIDA/Web
<br/>Smalltalk Web Application Server
<br/><a href="http://www.aidaweb.si" target="_top" rel="nofollow" link="external">http://www.aidaweb.si</a><br/><br/>------------------------------------------------------------------------------
<br/>Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
<br/>-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
<br/>-Strategies to boost innovation and cut costs with open source participation
<br/>-Receive a $600 discount off the registration fee with the source code: SFAD
<br/><a href="http://p.sf.net/sfu/XcvMzF8H" target="_top" rel="nofollow" link="external">http://p.sf.net/sfu/XcvMzF8H</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401542&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401543Character >> #isAlphabetic clashes with vb-regex2008-12-11T23:33:02Z2008-12-11T23:33:02ZPhilippe Marschall
Hi
<br/><br/>First, sorry for the previous message. Something went wrong there.
<br/><br/>Second, this post is about Hyper and not about Swazoo. Sorry for
<br/>posting to this list but I know Bruce reads it and I think it's of
<br/>general interest for people writing portable code.
<br/><br/>HyUrl sends #isAlphabetic to characters and includes its own class
<br/>extension for this method. However vb-regex does the same and uses a
<br/>different definition. May I suggest to use #hyperIsAlphabetic instead?
<br/><br/>Cheers
<br/>Philippe
<br/><br/>------------------------------------------------------------------------------
<br/>SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
<br/>The future of the web can't happen without you. Join us at MIX09 to help
<br/>pave the way to the Next Web now. Learn more and register at
<br/><a href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/" target="_top" rel="nofollow" link="external">http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401543&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401561about Sport on Squeak2009-01-01T14:56:47Z2009-01-01T14:56:47ZPhilippe Marschall
Hi
<br/><br/>I'm really sorry I have to write this mail but in my experience SPort
<br/>is in such a bad state that it doesn't fulfill it's promise of writing
<br/>portable Smalltalk code. At least in the Squeak version there seem to
<br/>be many methods missing or empty that are present on other dialects.
<br/><br/>Context:
<br/>I wanted to write a Hyper server adapter for Seaside but I simply gave
<br/>up because making Hyper running on Squeak would have required me to
<br/>fix SPort on Squeak.
<br/><br/>Cheers
<br/>Philippe
<br/><br/>------------------------------------------------------------------------------
<br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401561&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>
tag:forum.world.st,2006:post-1401564shopping cart?2002-04-08T03:39:25Z2002-04-08T03:39:25ZBryant PW (Philip)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>shopping cart?</TITLE>
<P><FONT SIZE=2>Hi, I found out about this list from a posting from Janko Mivsek on the VWNC list.</FONT>
</P>
<P><FONT SIZE=2>Would a shopping cart be outside of the scope of swazoo? Does one exist elsewhere?</FONT>
</P>
<P><FONT SIZE=2>Something like Interchange (written in Smalltalk) would be great. <A HREF="http://interchange.redhat.com" TARGET="_blank" rel="nofollow" link="external">http://interchange.redhat.com</A> Interchange's feature set is very rich, but the (open source perl) implementation is u-g-l-y.</FONT></P>
<P><FONT SIZE=2>Regards,</FONT>
<BR><FONT SIZE=2>Philip</FONT>
</P>
tag:forum.world.st,2006:post-1401567Character >>2008-12-11T23:28:24Z2008-12-11T23:28:24ZPhilippe Marschall
<br/><br/>------------------------------------------------------------------------------
<br/>SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
<br/>The future of the web can't happen without you. Join us at MIX09 to help
<br/>pave the way to the Next Web now. Learn more and register at
<br/><a href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/" target="_top" rel="nofollow" link="external">http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/</a><br/>_______________________________________________
<br/>Swazoo-devel mailing list
<br/><a href="/user/SendEmail.jtp?type=node&node=1401567&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>
<br/><a href="https://lists.sourceforge.net/lists/listinfo/swazoo-devel" target="_top" rel="nofollow" link="external">https://lists.sourceforge.net/lists/listinfo/swazoo-devel</a><br/>