WebClient / Port to Pharo

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

WebClient / Port to Pharo

Sven Van Caekenberghe
Hi Andreas,

I have been looking and using your WebClient package. Your key point, the existing HttpClient was not good (to be polite) and yours is much better, is spot on. Therefor it seems important that your code works well in Pharo too (my main Smalltalk platform). I looked at your WebClient-Pharo package in detail and decided to try to make it no longer necessary. I think I succeeded: in Pharo 1.1rc2, my slightly modified WebClient-Core package passes all unit tests without the need for any Pharo specific patches.

My WebClient-Core-SvenVanCaekenberghe.24.mcz and WebClient-Tests-SvenVanCaekenberghe.12.mcz remove the need for String>>#, by using #asString where needed. My WebClient-Core-SvenVanCaekenberghe.24.mcz also removes the need for String>>#squeakToUtf8. My packages can be found at www.squeaksource.com/ADayAtTheBeach

I hope that you would consider including my patches upstream.

Regards,

Sven

PS: I would like to help you maintain Pharo compatibility and/or improve WebClient. I have for years maintained my own HTTP client and server packages for Common Lisp ( http://homepage.mac.com/svc/s-http-client/ & http://homepage.mac.com/svc/s-http-server/ ) so I know the domain a little bit.

--
Sven Van Caekenberghe - http://homepage.mac.com/svc
Beta Nine - software engineering - http://www.beta9.be



Reply | Threaded
Open this post in threaded view
|

Re: WebClient / Port to Pharo

LawsonEnglish
On 6/14/10 11:57 AM, Sven Van Caekenberghe wrote:
> Hi Andreas,
>
> I have been looking and using your WebClient package. Your key point, the existing HttpClient was not good (to be polite) and yours is much better, is spot on. Therefor it seems important that your code works well in Pharo too (my main Smalltalk platform). I looked at your WebClient-Pharo package in detail and decided to try to make it no longer necessary. I think I succeeded: in Pharo 1.1rc2, my slightly modified WebClient-Core package passes all unit tests without the need for any Pharo specific patches.
>
>    

Does the WebClient package include https capabilities?


Thanks.


Lawson


Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: [squeak-dev] WebClient / Port to Pharo

Sven Van Caekenberghe

On 15 Jun 2010, at 02:58, Lawson English wrote:

> On 6/14/10 11:57 AM, Sven Van Caekenberghe wrote:
>> Hi Andreas,
>>
>> I have been looking and using your WebClient package. Your key point, the existing HttpClient was not good (to be polite) and yours is much better, is spot on. Therefor it seems important that your code works well in Pharo too (my main Smalltalk platform). I looked at your WebClient-Pharo package in detail and decided to try to make it no longer necessary. I think I succeeded: in Pharo 1.1rc2, my slightly modified WebClient-Core package passes all unit tests without the need for any Pharo specific patches.
>>
>>  
>
> Does the WebClient package include https capabilities?

No, it does not. It would be very nice to have of course.
But writing an HTTPS (SSL) implementation at the Smalltalk level is a lot of work.
Very few environments do (it could be that VW does so).
Most link to OpenSSL to do the job, but that add another VM dependency.

Sven

> Thanks.
>
>
> Lawson
>


Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: [squeak-dev] WebClient / Port to Pharo

Frank Shearar
On 2010/06/15 08:19, Sven Van Caekenberghe wrote:

>
> On 15 Jun 2010, at 02:58, Lawson English wrote:
>
>> On 6/14/10 11:57 AM, Sven Van Caekenberghe wrote:
>>> Hi Andreas,
>>>
>>> I have been looking and using your WebClient package. Your key point, the existing HttpClient was not good (to be polite) and yours is much better, is spot on. Therefor it seems important that your code works well in Pharo too (my main Smalltalk platform). I looked at your WebClient-Pharo package in detail and decided to try to make it no longer necessary. I think I succeeded: in Pharo 1.1rc2, my slightly modified WebClient-Core package passes all unit tests without the need for any Pharo specific patches.
>>>
>>>
>>
>> Does the WebClient package include https capabilities?
>
> No, it does not. It would be very nice to have of course.
> But writing an HTTPS (SSL) implementation at the Smalltalk level is a lot of work.
> Very few environments do (it could be that VW does so).
> Most link to OpenSSL to do the job, but that add another VM dependency.

IIRC, the Crypto team
(http://lists.squeakfoundation.org/pipermail/cryptography/) got an SSL
implementation working. They've been a bit quiet of late.

(I'd just use OpenSSL: it's been beaten around the head for a long time.)

frank

Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: WebClient / Port to Pharo

Andreas.Raab
On 6/15/2010 12:50 AM, Frank Shearar wrote:

>>> Does the WebClient package include https capabilities?
>>
>> No, it does not. It would be very nice to have of course.
>> But writing an HTTPS (SSL) implementation at the Smalltalk level is a
>> lot of work.
>> Very few environments do (it could be that VW does so).
>> Most link to OpenSSL to do the job, but that add another VM dependency.
>
> IIRC, the Crypto team
> (http://lists.squeakfoundation.org/pipermail/cryptography/) got an SSL
> implementation working. They've been a bit quiet of late.
>
> (I'd just use OpenSSL: it's been beaten around the head for a long time.)

That's one option. OTOH, I have working Windows (plugin) code using the
Windows SSP interface but I don't think the interface will work for an
OpenSSL based implementation, so I'm somewhat hesitent to publish it. I
think the best option would be implementing an OpenSSL BIO directly in
the SocketPlugin - does anyone have experience with that?

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: WebClient / Port to Pharo

LawsonEnglish
On 6/15/10 1:39 AM, Andreas Raab wrote:

> On 6/15/2010 12:50 AM, Frank Shearar wrote:
>>>> Does the WebClient package include https capabilities?
>>>
>>> No, it does not. It would be very nice to have of course.
>>> But writing an HTTPS (SSL) implementation at the Smalltalk level is a
>>> lot of work.
>>> Very few environments do (it could be that VW does so).
>>> Most link to OpenSSL to do the job, but that add another VM dependency.
>>
>> IIRC, the Crypto team
>> (http://lists.squeakfoundation.org/pipermail/cryptography/) got an SSL
>> implementation working. They've been a bit quiet of late.
>>
>> (I'd just use OpenSSL: it's been beaten around the head for a long
>> time.)
>
> That's one option. OTOH, I have working Windows (plugin) code using
> the Windows SSP interface but I don't think the interface will work
> for an OpenSSL based implementation, so I'm somewhat hesitent to
> publish it. I think the best option would be implementing an OpenSSL
> BIO directly in the SocketPlugin - does anyone have experience with that?
>
>
The reason why I ask is because my work on a second life client in
squeak stalled when every UDP packet I sent was recognized improperly by
the Second LIfe server for some reason or another (even though the data
portion was identical as seen via wireshark). When I tried to switch to
a more modern squeak (I was using the Cobalt image and VM) I found that
none of them handled https, which is needed for the initial login
interaction and I couldn't figure out how to port the Cobalt-era
HttpsSocket to a more modern squeak.

The upshot is that without some kind of https login, a SL viewer is
impossible for Squeak, despite it being potentially a very good protocol
development tool.

Resolving the UDP packet issue  is another question of course, but until
I can log in using a modern squeak, I dont' expect anyone to try to hep
me with an esoteric bug that only appears when talking to a single
company's server.

Lawson